diff --git a/v2.8.0/ar-rSA/index.html b/v2.8.0/ar-rSA/index.html deleted file mode 100644 index 41d1484a67..0000000000 --- a/v2.8.0/ar-rSA/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide الوصف
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/ar-rSA/user/android-auto.html b/v2.8.0/ar-rSA/user/android-auto.html deleted file mode 100644 index f86af7aa1e..0000000000 --- a/v2.8.0/ar-rSA/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

الرسائل

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/ar-rSA/user/app-functions.html b/v2.8.0/ar-rSA/user/app-functions.html deleted file mode 100644 index 1252b67a54..0000000000 --- a/v2.8.0/ar-rSA/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/ar-rSA/user/connections.html b/v2.8.0/ar-rSA/user/connections.html deleted file mode 100644 index 6356b8333c..0000000000 --- a/v2.8.0/ar-rSA/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State الوصف
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 انقطع الاتصال No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/ar-rSA/user/debug-logs.html b/v2.8.0/ar-rSA/user/debug-logs.html deleted file mode 100644 index 0fad749a0a..0000000000 --- a/v2.8.0/ar-rSA/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/ar-rSA/user/desktop.html b/v2.8.0/ar-rSA/user/desktop.html deleted file mode 100644 index 8cf0e24e0e..0000000000 --- a/v2.8.0/ar-rSA/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
الخريطة ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
الإعدادات ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/ar-rSA/user/discovery.html b/v2.8.0/ar-rSA/user/discovery.html deleted file mode 100644 index a22a30c651..0000000000 --- a/v2.8.0/ar-rSA/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control الوصف
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/ar-rSA/user/firmware.html b/v2.8.0/ar-rSA/user/firmware.html deleted file mode 100644 index c21a7b83f7..0000000000 --- a/v2.8.0/ar-rSA/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

عربي الوصف
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/ar-rSA/user/help-and-docs.html b/v2.8.0/ar-rSA/user/help-and-docs.html deleted file mode 100644 index d049fa8acf..0000000000 --- a/v2.8.0/ar-rSA/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/ar-rSA/user/map-and-waypoints.html b/v2.8.0/ar-rSA/user/map-and-waypoints.html deleted file mode 100644 index 6e36524b08..0000000000 --- a/v2.8.0/ar-rSA/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property الوصف
الاسم Short identifier (max 29 characters)
الوصف Optional longer description
Icon Visual marker emoji on the map
مقفل If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/ar-rSA/user/messages-and-channels.html b/v2.8.0/ar-rSA/user/messages-and-channels.html deleted file mode 100644 index 9c659dfbe3..0000000000 --- a/v2.8.0/ar-rSA/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

القنوات

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level الوصف
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
غلط Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

غلط Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
استغرق وقت طويل No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
لم يجد وسيط No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
لا يوجد قناه The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
طلب غير جيد Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/ar-rSA/user/mqtt.html b/v2.8.0/ar-rSA/user/mqtt.html deleted file mode 100644 index e989fe092d..0000000000 --- a/v2.8.0/ar-rSA/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting الوصف Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction الوصف
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format الوصف Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/ar-rSA/user/node-metrics.html b/v2.8.0/ar-rSA/user/node-metrics.html deleted file mode 100644 index c97ef61423..0000000000 --- a/v2.8.0/ar-rSA/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric الوصف
Battery Level Current battery percentage
شدة التيار Battery voltage reading
استخدام القناة Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
الحرارة BME280, BME680, SHT31
الرطوبة BME280, BME680, SHT31
الضغط الجوي BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit الوصف
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
جيد < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric الوصف
SNR Signal-to-Noise Ratio (higher is better)
مؤشر القوة النسبية Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
جيد SNR above the preset’s limit
مناسب less than 5.5 dB below the limit
سيئ 5.5 dB to 7.5 dB below the limit
لا يوجد more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric الوصف
Bus Voltage Supply voltage
الحالي Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

سجل الموقع

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/ar-rSA/user/nodes.html b/v2.8.0/ar-rSA/user/nodes.html deleted file mode 100644 index 995ca6f2b3..0000000000 --- a/v2.8.0/ar-rSA/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role الوصف
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

عربي الوصف
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort الوصف
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
آخر ظهور Last heard
المسافة Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/ar-rSA/user/onboarding.html b/v2.8.0/ar-rSA/user/onboarding.html deleted file mode 100644 index e17a75ed68..0000000000 --- a/v2.8.0/ar-rSA/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/ar-rSA/user/settings-module-admin.html b/v2.8.0/ar-rSA/user/settings-module-admin.html deleted file mode 100644 index a53f4723ff..0000000000 --- a/v2.8.0/ar-rSA/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting الوصف
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting الوصف
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting الوصف
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting الوصف
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting الوصف
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting الوصف
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting الوصف
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
الرسائل Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting الوصف
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting الوصف
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting الوصف
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting الوصف
LED State Turn the LED on or off
الحالي LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting الوصف
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting الوصف
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

الإدارة

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

إعادة التشغيل

Remotely reboot a connected or administered node.

Debug Panel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ar-rSA/user/settings-radio-user.html b/v2.8.0/ar-rSA/user/settings-radio-user.html deleted file mode 100644 index c6ea646c3c..0000000000 --- a/v2.8.0/ar-rSA/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting الوصف
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting الوصف Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting الوصف Default
الجهة Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting الوصف
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting الوصف
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting الوصف
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting الوصف
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting الوصف
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting الوصف
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/ar-rSA/user/signal-meter.html b/v2.8.0/ar-rSA/user/signal-meter.html deleted file mode 100644 index 2cb44cae21..0000000000 --- a/v2.8.0/ar-rSA/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
جيد 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
مناسب 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
سيئ 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
لا يوجد 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/ar-rSA/user/tak.html b/v2.8.0/ar-rSA/user/tak.html deleted file mode 100644 index ca9455e0f1..0000000000 --- a/v2.8.0/ar-rSA/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting الوصف
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role الوصف
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting الوصف
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/ar-rSA/user/telemetry-and-sensors.html b/v2.8.0/ar-rSA/user/telemetry-and-sensors.html deleted file mode 100644 index b82d770106..0000000000 --- a/v2.8.0/ar-rSA/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric الوصف Typical Range
Battery Level Charge percentage 0–100%
شدة التيار Battery voltage 3.0–4.2V (LiPo)
استخدام القناة % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor الحرارة الرطوبة Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric الوصف
Bus Voltage Supply rail voltage
الحالي Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit الوصف
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/ar-rSA/user/translate.html b/v2.8.0/ar-rSA/user/translate.html deleted file mode 100644 index a6f88630f6..0000000000 --- a/v2.8.0/ar-rSA/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/ar-rSA/user/units-and-locale.html b/v2.8.0/ar-rSA/user/units-and-locale.html deleted file mode 100644 index 1fc5bf21ab..0000000000 --- a/v2.8.0/ar-rSA/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


الحرارة

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/ar-rSA/user/widget.html b/v2.8.0/ar-rSA/user/widget.html deleted file mode 100644 index e49d197943..0000000000 --- a/v2.8.0/ar-rSA/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 العربية
Meshtastic Docs ↗

🌐 العربية — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/assets/css/just-the-docs-dark.css b/v2.8.0/assets/css/just-the-docs-dark.css deleted file mode 100644 index 0018151133..0000000000 --- a/v2.8.0/assets/css/just-the-docs-dark.css +++ /dev/null @@ -1,7785 +0,0 @@ -@charset "UTF-8"; -/* -generated by accessible-pygments -Copyright (c) 2022, Quansight Labs -Licensed under the BSD license, see LICENSE for details. --- -generated by Pygments -Copyright 2006-2025 by the Pygments team. -Licensed under the BSD license, see LICENSE for details. -*/ -.highlight .hll { - background-color: rgba(9, 105, 218, 0.2901960784); -} - -.highlight .c { - color: #6E7781; -} /* Comment */ -.highlight .err { - color: #CF222E; -} /* Error */ -.highlight .k { - color: #CF222E; -} /* Keyword */ -.highlight .l { - color: #953800; -} /* Literal */ -.highlight .n { - color: #8250DF; -} /* Name */ -.highlight .o { - color: #116329; -} /* Operator */ -.highlight .p { - color: #24292F; -} /* Punctuation */ -.highlight .ch { - color: #6E7781; -} /* Comment.Hashbang */ -.highlight .cm { - color: #6E7781; -} /* Comment.Multiline */ -.highlight .cp { - color: #6E7781; -} /* Comment.Preproc */ -.highlight .cpf { - color: #6E7781; -} /* Comment.PreprocFile */ -.highlight .c1 { - color: #6E7781; -} /* Comment.Single */ -.highlight .cs { - color: #6E7781; -} /* Comment.Special */ -.highlight .gd { - color: #0550AE; -} /* Generic.Deleted */ -.highlight .ge { - font-style: italic; -} /* Generic.Emph */ -.highlight .gr { - color: #CF222E; -} /* Generic.Error */ -.highlight .gh { - color: #0550AE; -} /* Generic.Heading */ -.highlight .gs { - font-weight: bold; -} /* Generic.Strong */ -.highlight .gu { - color: #0550AE; -} /* Generic.Subheading */ -.highlight .kc { - color: #0550AE; -} /* Keyword.Constant */ -.highlight .kd { - color: #CF222E; -} /* Keyword.Declaration */ -.highlight .kn { - color: #CF222E; -} /* Keyword.Namespace */ -.highlight .kp { - color: #CF222E; -} /* Keyword.Pseudo */ -.highlight .kr { - color: #CF222E; -} /* Keyword.Reserved */ -.highlight .kt { - color: #CF222E; -} /* Keyword.Type */ -.highlight .ld { - color: #953800; -} /* Literal.Date */ -.highlight .m { - color: #953800; -} /* Literal.Number */ -.highlight .s { - color: #0550AE; -} /* Literal.String */ -.highlight .na { - color: #953800; -} /* Name.Attribute */ -.highlight .nb { - color: #953800; -} /* Name.Builtin */ -.highlight .nc { - color: #0550AE; -} /* Name.Class */ -.highlight .no { - color: #0550AE; -} /* Name.Constant */ -.highlight .nd { - color: #953800; -} /* Name.Decorator */ -.highlight .ni { - color: #116329; -} /* Name.Entity */ -.highlight .ne { - color: #8250DF; -} /* Name.Exception */ -.highlight .nf { - color: #0550AE; -} /* Name.Function */ -.highlight .nl { - color: #953800; -} /* Name.Label */ -.highlight .nn { - color: #24292F; -} /* Name.Namespace */ -.highlight .nx { - color: #8250DF; -} /* Name.Other */ -.highlight .py { - color: #0550AE; -} /* Name.Property */ -.highlight .nt { - color: #116329; -} /* Name.Tag */ -.highlight .nv { - color: #953800; -} /* Name.Variable */ -.highlight .ow { - color: #8250DF; -} /* Operator.Word */ -.highlight .pm { - color: #24292F; -} /* Punctuation.Marker */ -.highlight .w { - color: #24292F; -} /* Text.Whitespace */ -.highlight .mb { - color: #953800; -} /* Literal.Number.Bin */ -.highlight .mf { - color: #953800; -} /* Literal.Number.Float */ -.highlight .mh { - color: #953800; -} /* Literal.Number.Hex */ -.highlight .mi { - color: #953800; -} /* Literal.Number.Integer */ -.highlight .mo { - color: #953800; -} /* Literal.Number.Oct */ -.highlight .sa { - color: #0550AE; -} /* Literal.String.Affix */ -.highlight .sb { - color: #0550AE; -} /* Literal.String.Backtick */ -.highlight .sc { - color: #0550AE; -} /* Literal.String.Char */ -.highlight .dl { - color: #0550AE; -} /* Literal.String.Delimiter */ -.highlight .sd { - color: #0550AE; -} /* Literal.String.Doc */ -.highlight .s2 { - color: #0550AE; -} /* Literal.String.Double */ -.highlight .se { - color: #0550AE; -} /* Literal.String.Escape */ -.highlight .sh { - color: #0550AE; -} /* Literal.String.Heredoc */ -.highlight .si { - color: #0550AE; -} /* Literal.String.Interpol */ -.highlight .sx { - color: #0550AE; -} /* Literal.String.Other */ -.highlight .sr { - color: #0550AE; -} /* Literal.String.Regex */ -.highlight .s1 { - color: #0550AE; -} /* Literal.String.Single */ -.highlight .ss { - color: #0550AE; -} /* Literal.String.Symbol */ -.highlight .bp { - color: #953800; -} /* Name.Builtin.Pseudo */ -.highlight .fm { - color: #0550AE; -} /* Name.Function.Magic */ -.highlight .vc { - color: #953800; -} /* Name.Variable.Class */ -.highlight .vg { - color: #953800; -} /* Name.Variable.Global */ -.highlight .vi { - color: #953800; -} /* Name.Variable.Instance */ -.highlight .vm { - color: #953800; -} /* Name.Variable.Magic */ -.highlight .il { - color: #953800; -} /* Literal.Number.Integer.Long */ -/* -generated by accessible-pygments -Copyright (c) 2022, Quansight Labs -Licensed under the BSD license, see LICENSE for details. --- -generated by Pygments -Copyright 2006-2025 by the Pygments team. -Licensed under the BSD license, see LICENSE for details. -*/ -.highlight .hll { - background-color: #6e7681; -} - -.highlight { - background: #0d1117; - color: #E6EDF3; -} - -.highlight .c { - color: #8B949E; - font-style: italic; -} /* Comment */ -.highlight .err { - color: #F85149; -} /* Error */ -.highlight .esc { - color: #E6EDF3; -} /* Escape */ -.highlight .g { - color: #E6EDF3; -} /* Generic */ -.highlight .k { - color: #FF7B72; -} /* Keyword */ -.highlight .l { - color: #A5D6FF; -} /* Literal */ -.highlight .n { - color: #E6EDF3; -} /* Name */ -.highlight .o { - color: #FF7B72; - font-weight: bold; -} /* Operator */ -.highlight .x { - color: #E6EDF3; -} /* Other */ -.highlight .p { - color: #E6EDF3; -} /* Punctuation */ -.highlight .ch { - color: #8B949E; - font-style: italic; -} /* Comment.Hashbang */ -.highlight .cm { - color: #8B949E; - font-style: italic; -} /* Comment.Multiline */ -.highlight .cp { - color: #8B949E; - font-weight: bold; - font-style: italic; -} /* Comment.Preproc */ -.highlight .cpf { - color: #8B949E; - font-style: italic; -} /* Comment.PreprocFile */ -.highlight .c1 { - color: #8B949E; - font-style: italic; -} /* Comment.Single */ -.highlight .cs { - color: #8B949E; - font-weight: bold; - font-style: italic; -} /* Comment.Special */ -.highlight .gd { - color: #FFA198; - background-color: #490202; -} /* Generic.Deleted */ -.highlight .ge { - color: #E6EDF3; - font-style: italic; -} /* Generic.Emph */ -.highlight .ges { - color: #E6EDF3; - font-weight: bold; - font-style: italic; -} /* Generic.EmphStrong */ -.highlight .gr { - color: #FFA198; -} /* Generic.Error */ -.highlight .gh { - color: #79C0FF; - font-weight: bold; -} /* Generic.Heading */ -.highlight .gi { - color: #56D364; - background-color: #0F5323; -} /* Generic.Inserted */ -.highlight .go { - color: #8B949E; -} /* Generic.Output */ -.highlight .gp { - color: #8B949E; -} /* Generic.Prompt */ -.highlight .gs { - color: #E6EDF3; - font-weight: bold; -} /* Generic.Strong */ -.highlight .gu { - color: #79C0FF; -} /* Generic.Subheading */ -.highlight .gt { - color: #FF7B72; -} /* Generic.Traceback */ -.highlight .g-Underline { - color: #E6EDF3; - text-decoration: underline; -} /* Generic.Underline */ -.highlight .kc { - color: #79C0FF; -} /* Keyword.Constant */ -.highlight .kd { - color: #FF7B72; -} /* Keyword.Declaration */ -.highlight .kn { - color: #FF7B72; -} /* Keyword.Namespace */ -.highlight .kp { - color: #79C0FF; -} /* Keyword.Pseudo */ -.highlight .kr { - color: #FF7B72; -} /* Keyword.Reserved */ -.highlight .kt { - color: #FF7B72; -} /* Keyword.Type */ -.highlight .ld { - color: #79C0FF; -} /* Literal.Date */ -.highlight .m { - color: #A5D6FF; -} /* Literal.Number */ -.highlight .s { - color: #A5D6FF; -} /* Literal.String */ -.highlight .na { - color: #E6EDF3; -} /* Name.Attribute */ -.highlight .nb { - color: #E6EDF3; -} /* Name.Builtin */ -.highlight .nc { - color: #F0883E; - font-weight: bold; -} /* Name.Class */ -.highlight .no { - color: #79C0FF; - font-weight: bold; -} /* Name.Constant */ -.highlight .nd { - color: #D2A8FF; - font-weight: bold; -} /* Name.Decorator */ -.highlight .ni { - color: #FFA657; -} /* Name.Entity */ -.highlight .ne { - color: #F0883E; - font-weight: bold; -} /* Name.Exception */ -.highlight .nf { - color: #D2A8FF; - font-weight: bold; -} /* Name.Function */ -.highlight .nl { - color: #79C0FF; - font-weight: bold; -} /* Name.Label */ -.highlight .nn { - color: #FF7B72; -} /* Name.Namespace */ -.highlight .nx { - color: #E6EDF3; -} /* Name.Other */ -.highlight .py { - color: #79C0FF; -} /* Name.Property */ -.highlight .nt { - color: #7EE787; -} /* Name.Tag */ -.highlight .nv { - color: #79C0FF; -} /* Name.Variable */ -.highlight .ow { - color: #FF7B72; - font-weight: bold; -} /* Operator.Word */ -.highlight .pm { - color: #E6EDF3; -} /* Punctuation.Marker */ -.highlight .w { - color: #6E7681; -} /* Text.Whitespace */ -.highlight .mb { - color: #A5D6FF; -} /* Literal.Number.Bin */ -.highlight .mf { - color: #A5D6FF; -} /* Literal.Number.Float */ -.highlight .mh { - color: #A5D6FF; -} /* Literal.Number.Hex */ -.highlight .mi { - color: #A5D6FF; -} /* Literal.Number.Integer */ -.highlight .mo { - color: #A5D6FF; -} /* Literal.Number.Oct */ -.highlight .sa { - color: #79C0FF; -} /* Literal.String.Affix */ -.highlight .sb { - color: #A5D6FF; -} /* Literal.String.Backtick */ -.highlight .sc { - color: #A5D6FF; -} /* Literal.String.Char */ -.highlight .dl { - color: #79C0FF; -} /* Literal.String.Delimiter */ -.highlight .sd { - color: #A5D6FF; -} /* Literal.String.Doc */ -.highlight .s2 { - color: #A5D6FF; -} /* Literal.String.Double */ -.highlight .se { - color: #79C0FF; -} /* Literal.String.Escape */ -.highlight .sh { - color: #79C0FF; -} /* Literal.String.Heredoc */ -.highlight .si { - color: #A5D6FF; -} /* Literal.String.Interpol */ -.highlight .sx { - color: #A5D6FF; -} /* Literal.String.Other */ -.highlight .sr { - color: #79C0FF; -} /* Literal.String.Regex */ -.highlight .s1 { - color: #A5D6FF; -} /* Literal.String.Single */ -.highlight .ss { - color: #A5D6FF; -} /* Literal.String.Symbol */ -.highlight .bp { - color: #E6EDF3; -} /* Name.Builtin.Pseudo */ -.highlight .fm { - color: #D2A8FF; - font-weight: bold; -} /* Name.Function.Magic */ -.highlight .vc { - color: #79C0FF; -} /* Name.Variable.Class */ -.highlight .vg { - color: #79C0FF; -} /* Name.Variable.Global */ -.highlight .vi { - color: #79C0FF; -} /* Name.Variable.Instance */ -.highlight .vm { - color: #79C0FF; -} /* Name.Variable.Magic */ -.highlight .il { - color: #A5D6FF; -} /* Literal.Number.Integer.Long */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* Document - ========================================================================== */ -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ -html { - line-height: 1.15; /* 1 */ - text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers. - */ -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ -/** - * Remove the gray background on active links in IE 10. - */ -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ -/** - * Remove the border on images inside links in IE 10. - */ -img { - border-style: none; -} - -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ -button, -input { - /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ -button, -[type=button], -[type=reset], -[type=submit] { - appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ -[type=checkbox], -[type=radio] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type=search] { - appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-decoration { - appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ -/** - * Add the correct display in IE 10+. - */ -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ -[hidden] { - display: none; -} - -:root { - color-scheme: dark; -} - -* { - box-sizing: border-box; -} - -html { - scroll-behavior: smooth; -} -html { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - html { - font-size: 1rem !important; - } -} - -body { - font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; - font-size: inherit; - line-height: 1.4; - color: #e6e1e8; - background-color: #27262b; - overflow-wrap: break-word; -} - -ol, -ul, -dl, -pre, -address, -blockquote, -table, -div, -hr, -form, -fieldset, -noscript .table-wrapper { - margin-top: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6, -#toctitle { - margin-top: 0; - margin-bottom: 1em; - font-weight: 500; - line-height: 1.25; - color: #f5f6fa; -} - -p { - margin-top: 1em; - margin-bottom: 1em; -} - -a { - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - text-decoration: none; -} - -a:not([class]) { - text-decoration: underline; - text-decoration-color: #44434d; - text-underline-offset: 2px; -} -a:not([class]):hover { - text-decoration-color: rgba(36.7919389978%, 63.1535947712%, 98.5021786492%, 0.45); -} - -code { - font-family: "SFMono-Regular", menlo, consolas, monospace; - font-size: 0.75em; - line-height: 1.4; -} - -figure, -pre { - margin: 0; -} - -li { - margin: 0.25em 0; -} - -img { - max-width: 100%; - height: auto; -} - -hr { - height: 1px; - padding: 0; - margin: 2rem 0; - background-color: #44434d; - border: 0; -} - -blockquote { - margin: 10px 0; - margin-block-start: 0; - margin-inline-start: 0; - padding-left: 1rem; - border-left: 3px solid #44434d; -} - -.side-bar { - z-index: 0; - display: flex; - flex-wrap: wrap; - background-color: #27262b; -} -@media (min-width: 50rem) { - .side-bar { - flex-flow: column nowrap; - position: fixed; - width: 15.5rem; - height: 100%; - border-right: 1px solid #44434d; - align-items: flex-end; - } -} -@media (min-width: 66.5rem) { - .side-bar { - width: calc((100% - 66.5rem) / 2 + 16.5rem); - min-width: 16.5rem; - } -} -@media (min-width: 50rem) { - .side-bar + .main { - margin-left: 15.5rem; - } -} -@media (min-width: 66.5rem) { - .side-bar + .main { - margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); - } -} -.side-bar + .main .main-header { - display: none; - background-color: #27262b; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header { - display: flex; - background-color: #27262b; - } -} -.side-bar + .main .main-header.nav-open { - display: block; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header.nav-open { - display: flex; - } -} - -.main { - margin: auto; -} -@media (min-width: 50rem) { - .main { - position: relative; - max-width: 50rem; - } -} - -.main-content-wrap { - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-right: 2rem; - padding-left: 2rem; - } -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-top: 2rem; - padding-bottom: 2rem; - } -} - -.main-header { - z-index: 0; - border-bottom: 1px solid #44434d; -} -@media (min-width: 50rem) { - .main-header { - display: flex; - justify-content: space-between; - height: 3.75rem; - } -} - -.site-nav, -.site-header, -.site-footer { - width: 100%; -} -@media (min-width: 66.5rem) { - .site-nav, - .site-header, - .site-footer { - width: 16.5rem; - } -} - -.site-nav { - display: none; -} -.site-nav.nav-open { - display: block; -} -@media (min-width: 50rem) { - .site-nav { - display: block; - padding-top: 3rem; - padding-bottom: 1rem; - overflow-y: auto; - flex: 1 1 auto; - } -} - -.site-header { - display: flex; - min-height: 3.75rem; - align-items: center; -} -@media (min-width: 50rem) { - .site-header { - height: 3.75rem; - max-height: 3.75rem; - border-bottom: 1px solid #44434d; - } -} - -.site-title { - flex-grow: 1; - display: flex; - height: 100%; - align-items: center; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #f5f6fa; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-title { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-title { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .site-title { - font-size: 1.5rem !important; - line-height: 1.25; - } -} -@media (min-width: 50rem) { - .site-title { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} - -.site-button { - display: flex; - height: 100%; - padding: 1rem; - align-items: center; -} - -@media (min-width: 50rem) { - .site-header .site-button { - display: none; - } -} -.site-title:hover { - background-image: linear-gradient(-90deg, rgb(12.4052287582%, 12.0871459695%, 13.6775599129%) 0%, rgba(12.4052287582%, 12.0871459695%, 13.6775599129%, 0.8) 80%, rgba(12.4052287582%, 12.0871459695%, 13.6775599129%, 0) 100%); -} - -.site-button:hover { - background-image: linear-gradient(-90deg, rgb(12.4052287582%, 12.0871459695%, 13.6775599129%) 0%, rgba(12.4052287582%, 12.0871459695%, 13.6775599129%, 0.8) 100%); -} - -.site-footer { - position: absolute; - bottom: 0; - left: 0; - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-footer { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-footer { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .site-footer { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .site-footer { - position: static; - justify-self: end; - } -} - -.icon { - width: 1.5rem; - height: 1.5rem; - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); -} - -.main-content { - line-height: 1.6; -} -.main-content ol, -.main-content ul, -.main-content dl, -.main-content pre, -.main-content address, -.main-content blockquote, -.main-content .table-wrapper { - margin-top: 0.5em; -} -.main-content a { - overflow: hidden; - text-overflow: ellipsis; -} -.main-content ul, -.main-content ol { - padding-left: 1.5em; -} -.main-content li .highlight { - margin-top: 0.25rem; -} -.main-content ol { - list-style-type: none; - counter-reset: step-counter; -} -.main-content ol > li { - position: relative; -} -.main-content ol > li::before { - position: absolute; - top: 0.2em; - left: -1.6em; - color: #959396; - content: counter(step-counter); - counter-increment: step-counter; -} -.main-content ol > li::before { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - font-size: 0.875rem !important; - } -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - top: 0.11em; - } -} -.main-content ol > li ol { - counter-reset: sub-counter; -} -.main-content ol > li ol > li::before { - content: counter(sub-counter, lower-alpha); - counter-increment: sub-counter; -} -.main-content ul { - list-style: none; -} -.main-content ul > li::before { - position: absolute; - margin-left: -1.4em; - color: #959396; - content: "•"; -} -.main-content .task-list-item::before { - content: ""; -} -.main-content .task-list-item-checkbox { - margin-right: 0.6em; - margin-left: -1.4em; -} -.main-content hr + * { - margin-top: 0; -} -.main-content h1:first-of-type { - margin-top: 0.5em; -} -.main-content dl { - display: grid; - grid-template: auto/10em 1fr; -} -.main-content dt, -.main-content dd { - margin: 0.25em 0; -} -.main-content dt { - grid-column: 1; - font-weight: 500; - text-align: right; -} -.main-content dt::after { - content: ":"; -} -.main-content dd { - grid-column: 2; - margin-bottom: 0; - margin-left: 1em; -} -.main-content dd blockquote:first-child, -.main-content dd div:first-child, -.main-content dd dl:first-child, -.main-content dd dt:first-child, -.main-content dd h1:first-child, -.main-content dd h2:first-child, -.main-content dd h3:first-child, -.main-content dd h4:first-child, -.main-content dd h5:first-child, -.main-content dd h6:first-child, -.main-content dd li:first-child, -.main-content dd ol:first-child, -.main-content dd p:first-child, -.main-content dd pre:first-child, -.main-content dd table:first-child, -.main-content dd ul:first-child, -.main-content dd .table-wrapper:first-child { - margin-top: 0; -} -.main-content dd dl:first-child dt:first-child, -.main-content dd dl:first-child dd:nth-child(2), -.main-content ol dl:first-child dt:first-child, -.main-content ol dl:first-child dd:nth-child(2), -.main-content ul dl:first-child dt:first-child, -.main-content ul dl:first-child dd:nth-child(2) { - margin-top: 0; -} -.main-content .anchor-heading { - position: absolute; - right: -1rem; - width: 1.5rem; - height: 100%; - padding-right: 0.25rem; - padding-left: 0.25rem; - overflow: visible; -} -@media (min-width: 50rem) { - .main-content .anchor-heading { - right: auto; - left: -1.5rem; - } -} -.main-content .anchor-heading svg { - display: inline-block; - width: 100%; - height: 100%; - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - visibility: hidden; -} -.main-content .anchor-heading:hover svg, -.main-content .anchor-heading:focus svg, -.main-content h1:hover > .anchor-heading svg, -.main-content h2:hover > .anchor-heading svg, -.main-content h3:hover > .anchor-heading svg, -.main-content h4:hover > .anchor-heading svg, -.main-content h5:hover > .anchor-heading svg, -.main-content h6:hover > .anchor-heading svg { - visibility: visible; -} -.main-content summary { - cursor: pointer; -} -.main-content h1, -.main-content h2, -.main-content h3, -.main-content h4, -.main-content h5, -.main-content h6, -.main-content #toctitle { - position: relative; - margin-top: 1.5em; - margin-bottom: 0.25em; -} -.main-content h1 + table, -.main-content h1 + .table-wrapper, -.main-content h1 + .code-example, -.main-content h1 + .highlighter-rouge, -.main-content h1 + .sectionbody .listingblock, -.main-content h2 + table, -.main-content h2 + .table-wrapper, -.main-content h2 + .code-example, -.main-content h2 + .highlighter-rouge, -.main-content h2 + .sectionbody .listingblock, -.main-content h3 + table, -.main-content h3 + .table-wrapper, -.main-content h3 + .code-example, -.main-content h3 + .highlighter-rouge, -.main-content h3 + .sectionbody .listingblock, -.main-content h4 + table, -.main-content h4 + .table-wrapper, -.main-content h4 + .code-example, -.main-content h4 + .highlighter-rouge, -.main-content h4 + .sectionbody .listingblock, -.main-content h5 + table, -.main-content h5 + .table-wrapper, -.main-content h5 + .code-example, -.main-content h5 + .highlighter-rouge, -.main-content h5 + .sectionbody .listingblock, -.main-content h6 + table, -.main-content h6 + .table-wrapper, -.main-content h6 + .code-example, -.main-content h6 + .highlighter-rouge, -.main-content h6 + .sectionbody .listingblock, -.main-content #toctitle + table, -.main-content #toctitle + .table-wrapper, -.main-content #toctitle + .code-example, -.main-content #toctitle + .highlighter-rouge, -.main-content #toctitle + .sectionbody .listingblock { - margin-top: 1em; -} -.main-content h1 + p:not(.label), -.main-content h2 + p:not(.label), -.main-content h3 + p:not(.label), -.main-content h4 + p:not(.label), -.main-content h5 + p:not(.label), -.main-content h6 + p:not(.label), -.main-content #toctitle + p:not(.label) { - margin-top: 0; -} -.main-content > h1:first-child, -.main-content > h2:first-child, -.main-content > h3:first-child, -.main-content > h4:first-child, -.main-content > h5:first-child, -.main-content > h6:first-child, -.main-content > .sect1:first-child > h2, -.main-content > .sect2:first-child > h3, -.main-content > .sect3:first-child > h4, -.main-content > .sect4:first-child > h5, -.main-content > .sect5:first-child > h6 { - margin-top: 0.5rem; -} - -.nav-list { - padding: 0; - margin-top: 0; - margin-bottom: 0; - list-style: none; -} -.nav-list .nav-list-item { - position: relative; - margin: 0; -} -.nav-list .nav-list-item { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .nav-list .nav-list-item { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 0.875rem !important; - } -} -.nav-list .nav-list-item .nav-list-link { - display: block; - min-height: 3rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - line-height: 2.5rem; - padding-right: 3rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-link { - min-height: 2rem; - line-height: 1.5rem; - padding-right: 2rem; - padding-left: 2rem; - } -} -.nav-list .nav-list-item .nav-list-link.external > svg { - width: 1rem; - height: 1rem; - vertical-align: text-bottom; -} -.nav-list .nav-list-item .nav-list-link.active { - font-weight: 600; - text-decoration: none; -} -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { - color: rgb(27.0234204793%, 57.4591503268%, 98.2706971678%); - background-image: linear-gradient(-90deg, rgb(12.4052287582%, 12.0871459695%, 13.6775599129%) 0%, rgba(12.4052287582%, 12.0871459695%, 13.6775599129%, 0.8) 80%, rgba(12.4052287582%, 12.0871459695%, 13.6775599129%, 0) 100%); -} -.nav-list .nav-list-item .nav-list-expander { - position: absolute; - right: 0; - width: 3rem; - height: 3rem; - padding: 0.75rem; - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-expander { - width: 2rem; - height: 2rem; - padding: 0.5rem; - } -} -.nav-list .nav-list-item .nav-list-expander:hover { - background-image: linear-gradient(-90deg, rgb(12.4052287582%, 12.0871459695%, 13.6775599129%) 0%, rgba(12.4052287582%, 12.0871459695%, 13.6775599129%, 0.8) 100%); -} -.nav-list .nav-list-item .nav-list-expander svg { - transform: rotate(90deg); -} -.nav-list .nav-list-item > .nav-list { - display: none; - padding-left: 0.75rem; - list-style: none; -} -.nav-list .nav-list-item > .nav-list .nav-list-item { - position: relative; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { - color: #959396; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { - color: #959396; -} -.nav-list .nav-list-item.active > .nav-list-expander svg { - transform: rotate(-90deg); -} -.nav-list .nav-list-item.active > .nav-list { - display: block; -} - -.nav-category { - padding: 0.5rem 1rem; - font-weight: 600; - text-align: start; - text-transform: uppercase; - border-bottom: 1px solid #44434d; -} -.nav-category { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .nav-category { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .nav-category { - padding: 0.5rem 2rem; - margin-top: 1rem; - text-align: start; - } - .nav-category:first-child { - margin-top: 0; - } -} - -.nav-list.nav-category-list > .nav-list-item { - margin: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list { - padding: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); -} - -.aux-nav { - height: 100%; - overflow-x: auto; -} -.aux-nav { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .aux-nav { - font-size: 0.75rem !important; - } -} -.aux-nav .aux-nav-list { - display: flex; - height: 100%; - padding: 0; - margin: 0; - list-style: none; -} -.aux-nav .aux-nav-list-item { - display: inline-block; - height: 100%; - padding: 0; - margin: 0; -} -@media (min-width: 50rem) { - .aux-nav { - padding-right: 1rem; - } -} - -@media (min-width: 50rem) { - .breadcrumb-nav { - margin-top: -1rem; - } -} - -.breadcrumb-nav-list { - padding-left: 0; - margin-bottom: 0.75rem; - list-style: none; -} - -.breadcrumb-nav-list-item { - display: table-cell; -} -.breadcrumb-nav-list-item { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .breadcrumb-nav-list-item { - font-size: 0.75rem !important; - } -} -.breadcrumb-nav-list-item::before { - display: none; -} -.breadcrumb-nav-list-item::after { - display: inline-block; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #959396; - content: "/"; -} -.breadcrumb-nav-list-item:last-child::after { - content: ""; -} - -h1, -.text-alpha { - font-weight: 300; -} -h1, -.text-alpha { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - h1, - .text-alpha { - font-size: 2.25rem !important; - } -} - -h2, -.text-beta, -#toctitle { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - h2, - .text-beta, - #toctitle { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -h3, -.text-gamma { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - h3, - .text-gamma { - font-size: 1.125rem !important; - } -} - -h4, -.text-delta { - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0.1em; -} -h4, -.text-delta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h4, - .text-delta { - font-size: 0.75rem !important; - } -} - -h4 code { - text-transform: none; -} - -h5, -.text-epsilon { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - h5, - .text-epsilon { - font-size: 0.875rem !important; - } -} - -h6, -.text-zeta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h6, - .text-zeta { - font-size: 0.75rem !important; - } -} - -.text-small { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .text-small { - font-size: 0.75rem !important; - } -} - -.text-mono { - font-family: "SFMono-Regular", menlo, consolas, monospace !important; -} - -.text-left { - text-align: left !important; -} - -.text-center { - text-align: center !important; -} - -.text-right { - text-align: right !important; -} - -.label:not(g), -.label-blue:not(g) { - display: inline-block; - padding: 0.16em 0.56em; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #fff; - text-transform: uppercase; - vertical-align: middle; - background-color: #2869e6; - border-radius: 12px; -} -.label:not(g), -.label-blue:not(g) { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .label:not(g), - .label-blue:not(g) { - font-size: 0.75rem !important; - } -} - -.label-green:not(g) { - background-color: #026e57; -} - -.label-purple:not(g) { - background-color: #5e41d0; -} - -.label-red:not(g) { - background-color: #dd2e2e; -} - -.label-yellow:not(g) { - color: #44434d; - background-color: #f7d12e; -} - -.btn { - display: inline-block; - box-sizing: border-box; - padding: 0.3em 1em; - margin: 0; - font-family: inherit; - font-size: inherit; - font-weight: 500; - line-height: 1.5; - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - text-decoration: none; - vertical-align: baseline; - cursor: pointer; - background-color: #302d36; - border-width: 0; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - appearance: none; -} -.btn:focus { - text-decoration: none; - outline: none; - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:focus:hover, .btn.selected:focus { - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:hover, .btn.zeroclipboard-is-hover { - color: rgb(32.8845315904%, 60.8758169935%, 98.4095860566%); -} -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { - text-decoration: none; - background-color: rgb(17.8538324421%, 16.7379679144%, 20.0855614973%); -} -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { - background-color: rgb(15.9144385027%, 14.9197860963%, 17.9037433155%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn.selected:hover { - background-color: rgb(81.2745098039%, 81.2745098039%, 81.2745098039%); -} -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { - color: rgba(102, 102, 102, 0.5); - cursor: default; - background-color: rgba(229, 229, 229, 0.5); - background-image: none; - box-shadow: none; -} - -.btn-outline { - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - background: transparent; - box-shadow: inset 0 0 0 2px #e6e1e8; -} -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { - color: rgb(28.977124183%, 58.5980392157%, 98.3169934641%); - text-decoration: none; - background-color: transparent; - box-shadow: inset 0 0 0 3px #e6e1e8; -} -.btn-outline:focus { - text-decoration: none; - outline: none; - box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn-outline:focus:hover, .btn-outline.selected:focus { - box-shadow: inset 0 0 0 2px #5c5962; -} - -.btn-primary { - color: #fff; - background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%); - background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%); - background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%)); -} -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { - background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-primary.selected:hover { - background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%); -} - -.btn-purple { - color: #fff; - background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%); - background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%); - background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%)); -} -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { - background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-purple.selected:hover { - background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%); -} - -.btn-blue { - color: #fff; - background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%); - background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%); - background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%)); -} -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { - background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-blue.selected:hover { - background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%); -} - -.btn-green { - color: #fff; - background-color: rgb(0.7128851541%, 39.2086834734%, 31.0105042017%); - background-image: linear-gradient(rgb(0.9628851541%, 52.9586834734%, 41.8855042017%), rgb(0.7128851541%, 39.2086834734%, 31.0105042017%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-green:hover, .btn-green.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(0.6414565826%, 35.2801120448%, 27.9033613445%); - background-image: linear-gradient(rgb(0.8557422969%, 47.0658263305%, 37.224789916%), rgb(0.6414565826%, 35.2801120448%, 27.9033613445%)); -} -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { - background-color: rgb(0.6057422969%, 33.3158263305%, 26.349789916%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-green.selected:hover { - background-color: rgb(0.4271708683%, 23.4943977591%, 18.5819327731%); -} - -.btn-reset { - background: none; - border: none; - margin: 0; - text-align: inherit; - font: inherit; - border-radius: 0; - appearance: none; -} - -.search { - position: relative; - z-index: 2; - flex-grow: 1; - height: 4rem; - padding: 0.5rem; - transition: padding linear 200ms; -} -@media (min-width: 50rem) { - .search { - position: relative !important; - width: auto !important; - height: 100% !important; - padding: 0; - transition: none; - } -} - -.search-input-wrap { - position: relative; - z-index: 1; - height: 3rem; - overflow: hidden; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - transition: height linear 200ms; -} -@media (min-width: 50rem) { - .search-input-wrap { - position: absolute; - width: 100%; - max-width: 33.5rem; - height: 100% !important; - border-radius: 0; - box-shadow: none; - transition: width ease 400ms; - } -} - -.search-input { - position: absolute; - width: 100%; - height: 100%; - padding: 0.5rem 1rem 0.5rem 2.5rem; - font-size: 1rem; - color: #e6e1e8; - background-color: #302d36; - border-top: 0; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-input { - padding: 0.5rem 1rem 0.5rem 3.5rem; - font-size: 0.875rem; - background-color: #27262b; - transition: padding-left linear 200ms; - } -} -.search-input:focus { - outline: 2px solid rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - outline-offset: -2px; -} -.search-input:focus + .search-label .search-icon { - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); -} - -.search-label { - position: absolute; - display: flex; - height: 100%; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .search-label { - padding-left: 2rem; - transition: padding-left linear 200ms; - } -} -.search-label .search-icon { - width: 1.2rem; - height: 1.2rem; - align-self: center; - color: #959396; -} - -.search-results { - position: absolute; - left: 0; - display: none; - width: 100%; - max-height: calc(100% - 4rem); - overflow-y: auto; - background-color: #302d36; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} -@media (min-width: 50rem) { - .search-results { - top: 100%; - width: 33.5rem; - max-height: calc(100vh - 200%) !important; - } -} - -.search-results-list { - padding-left: 0; - margin-bottom: 0.25rem; - list-style: none; -} -.search-results-list { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .search-results-list { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .search-results-list { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-results-list { - font-size: 0.875rem !important; - } -} - -.search-results-list-item { - padding: 0; - margin: 0; -} - -.search-result { - display: block; - padding: 0.25rem 0.75rem; -} -.search-result:hover, .search-result.active { - background-color: rgb(12.4052287582%, 12.0871459695%, 13.6775599129%); -} - -.search-result-title { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -@media (min-width: 31.25rem) { - .search-result-title { - display: inline-block; - width: 40%; - padding-right: 0.5rem; - vertical-align: top; - } -} - -.search-result-doc { - display: flex; - align-items: center; - word-wrap: break-word; -} -.search-result-doc.search-result-doc-parent { - opacity: 0.5; -} -.search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.875rem !important; - } -} -@media (min-width: 50rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.6875rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; - } -} -.search-result-doc .search-result-icon { - width: 1rem; - height: 1rem; - margin-right: 0.5rem; - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - flex-shrink: 0; -} -.search-result-doc .search-result-doc-title { - overflow: auto; -} - -.search-result-section { - margin-left: 1.5rem; - word-wrap: break-word; -} - -.search-result-rel-url { - display: block; - margin-left: 1.5rem; - overflow: hidden; - color: #e6e1e8; - text-overflow: ellipsis; - white-space: nowrap; -} -.search-result-rel-url { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .search-result-rel-url { - font-size: 0.625rem !important; - } -} - -.search-result-previews { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - margin-left: 0.5rem; - color: #e6e1e8; - word-wrap: break-word; - border-left: 1px solid; - border-left-color: #44434d; -} -.search-result-previews { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .search-result-previews { - font-size: 0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .search-result-previews { - display: inline-block; - width: 60%; - padding-left: 0.5rem; - margin-left: 0; - vertical-align: top; - } -} - -.search-result-preview + .search-result-preview { - margin-top: 0.25rem; -} - -.search-result-highlight { - font-weight: bold; -} - -.search-no-result { - padding: 0.5rem 0.75rem; -} -.search-no-result { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-no-result { - font-size: 0.875rem !important; - } -} - -.search-button { - position: fixed; - right: 1rem; - bottom: 1rem; - display: flex; - width: 3.5rem; - height: 3.5rem; - background-color: #302d36; - border: 1px solid rgba(36.7919389978%, 63.1535947712%, 98.5021786492%, 0.3); - border-radius: 1.75rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - align-items: center; - justify-content: center; -} - -.search-overlay { - position: fixed; - top: 0; - left: 0; - z-index: 1; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.3); - opacity: 0; - transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; -} - -.search-active .search { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; -} -.search-active .search-input-wrap { - height: 4rem; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-active .search-input-wrap { - width: 33.5rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - } -} -.search-active .search-input { - background-color: #302d36; -} -@media (min-width: 50rem) { - .search-active .search-input { - padding-left: 2.3rem; - } -} -@media (min-width: 50rem) { - .search-active .search-label { - padding-left: 0.6rem; - } -} -.search-active .search-results { - display: block; -} -.search-active .search-overlay { - width: 100%; - height: 100%; - opacity: 1; - transition: opacity ease 400ms, width 0s, height 0s; -} -@media (min-width: 50rem) { - .search-active .main { - position: fixed; - right: 0; - left: 0; - } -} -.search-active .main-header { - padding-top: 4rem; -} -@media (min-width: 50rem) { - .search-active .main-header { - padding-top: 0; - } -} - -.table-wrapper { - display: block; - width: 100%; - max-width: 100%; - margin-bottom: 1.5rem; - overflow-x: auto; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} - -table { - display: table; - min-width: 100%; - border-collapse: separate; -} - -th, -td { - min-width: 7.5rem; - padding: 0.5rem 0.75rem; - background-color: #302d36; - border-bottom: 1px solid rgba(68, 67, 77, 0.5); - border-left: 1px solid #44434d; -} -th, -td { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - th, - td { - font-size: 0.875rem !important; - } -} -th:first-of-type, -td:first-of-type { - border-left: 0; -} - -tbody tr:last-of-type th, -tbody tr:last-of-type td { - border-bottom: 0; -} -tbody tr:last-of-type td { - padding-bottom: 0.75rem; -} - -thead th { - border-bottom: 1px solid #44434d; -} - -:not(pre, figure) > code { - padding: 0.2em 0.15em; - font-weight: 400; - background-color: #0d1117; - border: 1px solid #44434d; - border-radius: 4px; -} - -a:visited code { - border-color: #44434d; -} - -div.highlighter-rouge, -div.listingblock > div.content, -figure.highlight { - margin-top: 0; - margin-bottom: 0.75rem; - background-color: #0d1117; - border-radius: 4px; - box-shadow: none; - -webkit-overflow-scrolling: touch; - position: relative; - padding: 0; -} -div.highlighter-rouge > button, -div.listingblock > div.content > button, -figure.highlight > button { - width: 0.75rem; - opacity: 0; - position: absolute; - top: 0; - right: 0; - padding: 0.75rem; - border: none; - background: none; - color: #e6e1e8; - box-sizing: content-box; -} -div.highlighter-rouge > button svg, -div.listingblock > div.content > button svg, -figure.highlight > button svg { - fill: #e6e1e8; -} -div.highlighter-rouge > button:active, -div.listingblock > div.content > button:active, -figure.highlight > button:active { - text-decoration: none; - outline: none; - opacity: 1; -} -div.highlighter-rouge > button:focus, -div.listingblock > div.content > button:focus, -figure.highlight > button:focus { - opacity: 1; - outline: 2px solid rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); -} -div.highlighter-rouge:hover > button, -div.listingblock > div.content:hover > button, -figure.highlight:hover > button { - cursor: copy; - opacity: 1; -} - -div.highlighter-rouge div.highlight { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #e6e1e8; - border-radius: 4px; -} -div.highlighter-rouge pre.highlight, -div.highlighter-rouge code { - padding: 0; - margin: 0; - border: 0; -} - -div.listingblock { - margin-top: 0; - margin-bottom: 0.75rem; -} -div.listingblock div.content { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #e6e1e8; - border-radius: 4px; -} -div.listingblock div.content > pre, -div.listingblock code { - padding: 0; - margin: 0; - border: 0; -} - -figure.highlight pre, -figure.highlight :not(pre) > code { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #e6e1e8; - border-radius: 4px; -} - -.highlight .table-wrapper { - padding: 0.75rem 0; - margin: 0; - border: 0; - box-shadow: none; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - min-width: 0; - padding: 0; - background-color: #0d1117; - border: 0; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .highlight .table-wrapper td, - .highlight .table-wrapper pre { - font-size: 0.75rem !important; - } -} -.highlight .table-wrapper td.gl { - width: 1em; - padding-right: 0.75rem; - padding-left: 0.75rem; -} -.highlight .table-wrapper pre { - margin: 0; - line-height: 2; -} - -.code-example, -.listingblock > .title { - padding: 0.75rem; - margin-bottom: 0.75rem; - overflow: auto; - border: 1px solid #44434d; - border-radius: 4px; -} -.code-example + .highlighter-rouge, -.code-example + .sectionbody .listingblock, -.code-example + .content, -.code-example + figure.highlight, -.listingblock > .title + .highlighter-rouge, -.listingblock > .title + .sectionbody .listingblock, -.listingblock > .title + .content, -.listingblock > .title + figure.highlight { - position: relative; - margin-top: -1rem; - border-right: 1px solid #44434d; - border-bottom: 1px solid #44434d; - border-left: 1px solid #44434d; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -code.language-mermaid { - padding: 0; - background-color: inherit; - border: 0; -} - -.highlight, -pre.highlight { - background: #0d1117; - color: #e6edf3; -} - -.highlight pre { - background: #0d1117; -} - -.text-grey-dk-000 { - color: #959396 !important; -} - -.text-grey-dk-100 { - color: #5c5962 !important; -} - -.text-grey-dk-200 { - color: #44434d !important; -} - -.text-grey-dk-250 { - color: #302d36 !important; -} - -.text-grey-dk-300 { - color: #27262b !important; -} - -.text-grey-lt-000 { - color: #f5f6fa !important; -} - -.text-grey-lt-100 { - color: #eeebee !important; -} - -.text-grey-lt-200 { - color: #ecebed !important; -} - -.text-grey-lt-300 { - color: #e6e1e8 !important; -} - -.text-blue-000 { - color: #2c84fa !important; -} - -.text-blue-100 { - color: #2869e6 !important; -} - -.text-blue-200 { - color: #264caf !important; -} - -.text-blue-300 { - color: #183385 !important; -} - -.text-green-000 { - color: #41d693 !important; -} - -.text-green-100 { - color: #11b584 !important; -} - -.text-green-200 { - color: #009c7b !important; -} - -.text-green-300 { - color: #026e57 !important; -} - -.text-purple-000 { - color: #7253ed !important; -} - -.text-purple-100 { - color: #5e41d0 !important; -} - -.text-purple-200 { - color: #4e26af !important; -} - -.text-purple-300 { - color: #381885 !important; -} - -.text-yellow-000 { - color: #ffeb82 !important; -} - -.text-yellow-100 { - color: #fadf50 !important; -} - -.text-yellow-200 { - color: #f7d12e !important; -} - -.text-yellow-300 { - color: #e7af06 !important; -} - -.text-red-000 { - color: #f77e7e !important; -} - -.text-red-100 { - color: #f96e65 !important; -} - -.text-red-200 { - color: #e94c4c !important; -} - -.text-red-300 { - color: #dd2e2e !important; -} - -.bg-grey-dk-000 { - background-color: #959396 !important; -} - -.bg-grey-dk-100 { - background-color: #5c5962 !important; -} - -.bg-grey-dk-200 { - background-color: #44434d !important; -} - -.bg-grey-dk-250 { - background-color: #302d36 !important; -} - -.bg-grey-dk-300 { - background-color: #27262b !important; -} - -.bg-grey-lt-000 { - background-color: #f5f6fa !important; -} - -.bg-grey-lt-100 { - background-color: #eeebee !important; -} - -.bg-grey-lt-200 { - background-color: #ecebed !important; -} - -.bg-grey-lt-300 { - background-color: #e6e1e8 !important; -} - -.bg-blue-000 { - background-color: #2c84fa !important; -} - -.bg-blue-100 { - background-color: #2869e6 !important; -} - -.bg-blue-200 { - background-color: #264caf !important; -} - -.bg-blue-300 { - background-color: #183385 !important; -} - -.bg-green-000 { - background-color: #41d693 !important; -} - -.bg-green-100 { - background-color: #11b584 !important; -} - -.bg-green-200 { - background-color: #009c7b !important; -} - -.bg-green-300 { - background-color: #026e57 !important; -} - -.bg-purple-000 { - background-color: #7253ed !important; -} - -.bg-purple-100 { - background-color: #5e41d0 !important; -} - -.bg-purple-200 { - background-color: #4e26af !important; -} - -.bg-purple-300 { - background-color: #381885 !important; -} - -.bg-yellow-000 { - background-color: #ffeb82 !important; -} - -.bg-yellow-100 { - background-color: #fadf50 !important; -} - -.bg-yellow-200 { - background-color: #f7d12e !important; -} - -.bg-yellow-300 { - background-color: #e7af06 !important; -} - -.bg-red-000 { - background-color: #f77e7e !important; -} - -.bg-red-100 { - background-color: #f96e65 !important; -} - -.bg-red-200 { - background-color: #e94c4c !important; -} - -.bg-red-300 { - background-color: #dd2e2e !important; -} - -.d-block { - display: block !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-none { - display: none !important; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.flex-justify-start { - justify-content: flex-start !important; -} - -.flex-justify-end { - justify-content: flex-end !important; -} - -.flex-justify-between { - justify-content: space-between !important; -} - -.flex-justify-around { - justify-content: space-around !important; -} - -.v-align-baseline { - vertical-align: baseline !important; -} - -.v-align-bottom { - vertical-align: bottom !important; -} - -.v-align-middle { - vertical-align: middle !important; -} - -.v-align-text-bottom { - vertical-align: text-bottom !important; -} - -.v-align-text-top { - vertical-align: text-top !important; -} - -.v-align-top { - vertical-align: top !important; -} - -.fs-1 { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .fs-1 { - font-size: 0.625rem !important; - } -} - -.fs-2 { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .fs-2 { - font-size: 0.75rem !important; - } -} - -.fs-3 { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .fs-3 { - font-size: 0.875rem !important; - } -} - -.fs-4 { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .fs-4 { - font-size: 1rem !important; - } -} - -.fs-5 { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - .fs-5 { - font-size: 1.125rem !important; - } -} - -.fs-6 { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .fs-6 { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -.fs-7 { - font-size: 1.5rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-7 { - font-size: 2rem !important; - } -} - -.fs-8 { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-8 { - font-size: 2.25rem !important; - } -} - -.fs-9 { - font-size: 2.25rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-9 { - font-size: 2.625rem !important; - } -} - -.fs-10 { - font-size: 2.625rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-10 { - font-size: 3rem !important; - } -} - -.fw-300 { - font-weight: 300 !important; -} - -.fw-400 { - font-weight: 400 !important; -} - -.fw-500 { - font-weight: 500 !important; -} - -.fw-700 { - font-weight: 700 !important; -} - -.lh-0 { - line-height: 0 !important; -} - -.lh-default { - line-height: 1.4; -} - -.lh-tight { - line-height: 1.25; -} - -.ls-5 { - letter-spacing: 0.05em !important; -} - -.ls-10 { - letter-spacing: 0.1em !important; -} - -.ls-0 { - letter-spacing: 0 !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.list-style-none { - padding: 0 !important; - margin: 0 !important; - list-style: none !important; -} -.list-style-none li::before { - display: none !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.mxn-0 { - margin-right: -0 !important; - margin-left: -0 !important; -} - -.mx-0-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.mxn-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; -} - -.mx-1-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.mxn-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; -} - -.mx-2-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-3 { - margin: 0.75rem !important; -} - -.mt-3 { - margin-top: 0.75rem !important; -} - -.mr-3 { - margin-right: 0.75rem !important; -} - -.mb-3 { - margin-bottom: 0.75rem !important; -} - -.ml-3 { - margin-left: 0.75rem !important; -} - -.mx-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; -} - -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} - -.mxn-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; -} - -.mx-3-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-4 { - margin: 1rem !important; -} - -.mt-4 { - margin-top: 1rem !important; -} - -.mr-4 { - margin-right: 1rem !important; -} - -.mb-4 { - margin-bottom: 1rem !important; -} - -.ml-4 { - margin-left: 1rem !important; -} - -.mx-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.mxn-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; -} - -.mx-4-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-5 { - margin: 1.5rem !important; -} - -.mt-5 { - margin-top: 1.5rem !important; -} - -.mr-5 { - margin-right: 1.5rem !important; -} - -.mb-5 { - margin-bottom: 1.5rem !important; -} - -.ml-5 { - margin-left: 1.5rem !important; -} - -.mx-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.mxn-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; -} - -.mx-5-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-6 { - margin: 2rem !important; -} - -.mt-6 { - margin-top: 2rem !important; -} - -.mr-6 { - margin-right: 2rem !important; -} - -.mb-6 { - margin-bottom: 2rem !important; -} - -.ml-6 { - margin-left: 2rem !important; -} - -.mx-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; -} - -.my-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.mxn-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; -} - -.mx-6-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-7 { - margin: 2.5rem !important; -} - -.mt-7 { - margin-top: 2.5rem !important; -} - -.mr-7 { - margin-right: 2.5rem !important; -} - -.mb-7 { - margin-bottom: 2.5rem !important; -} - -.ml-7 { - margin-left: 2.5rem !important; -} - -.mx-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; -} - -.my-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; -} - -.mxn-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; -} - -.mx-7-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-8 { - margin: 3rem !important; -} - -.mt-8 { - margin-top: 3rem !important; -} - -.mr-8 { - margin-right: 3rem !important; -} - -.mb-8 { - margin-bottom: 3rem !important; -} - -.ml-8 { - margin-left: 3rem !important; -} - -.mx-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.mxn-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; -} - -.mx-8-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-9 { - margin: 3.5rem !important; -} - -.mt-9 { - margin-top: 3.5rem !important; -} - -.mr-9 { - margin-right: 3.5rem !important; -} - -.mb-9 { - margin-bottom: 3.5rem !important; -} - -.ml-9 { - margin-left: 3.5rem !important; -} - -.mx-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; -} - -.my-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; -} - -.mxn-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; -} - -.mx-9-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-10 { - margin: 4rem !important; -} - -.mt-10 { - margin-top: 4rem !important; -} - -.mr-10 { - margin-right: 4rem !important; -} - -.mb-10 { - margin-bottom: 4rem !important; -} - -.ml-10 { - margin-left: 4rem !important; -} - -.mx-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; -} - -.my-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.mxn-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; -} - -.mx-10-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -@media (min-width: 20rem) { - .m-xs-0 { - margin: 0 !important; - } - .mt-xs-0 { - margin-top: 0 !important; - } - .mr-xs-0 { - margin-right: 0 !important; - } - .mb-xs-0 { - margin-bottom: 0 !important; - } - .ml-xs-0 { - margin-left: 0 !important; - } - .mx-xs-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xs-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xs-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 20rem) { - .m-xs-1 { - margin: 0.25rem !important; - } - .mt-xs-1 { - margin-top: 0.25rem !important; - } - .mr-xs-1 { - margin-right: 0.25rem !important; - } - .mb-xs-1 { - margin-bottom: 0.25rem !important; - } - .ml-xs-1 { - margin-left: 0.25rem !important; - } - .mx-xs-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xs-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xs-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-2 { - margin: 0.5rem !important; - } - .mt-xs-2 { - margin-top: 0.5rem !important; - } - .mr-xs-2 { - margin-right: 0.5rem !important; - } - .mb-xs-2 { - margin-bottom: 0.5rem !important; - } - .ml-xs-2 { - margin-left: 0.5rem !important; - } - .mx-xs-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xs-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xs-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-3 { - margin: 0.75rem !important; - } - .mt-xs-3 { - margin-top: 0.75rem !important; - } - .mr-xs-3 { - margin-right: 0.75rem !important; - } - .mb-xs-3 { - margin-bottom: 0.75rem !important; - } - .ml-xs-3 { - margin-left: 0.75rem !important; - } - .mx-xs-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xs-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xs-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-4 { - margin: 1rem !important; - } - .mt-xs-4 { - margin-top: 1rem !important; - } - .mr-xs-4 { - margin-right: 1rem !important; - } - .mb-xs-4 { - margin-bottom: 1rem !important; - } - .ml-xs-4 { - margin-left: 1rem !important; - } - .mx-xs-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xs-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xs-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-5 { - margin: 1.5rem !important; - } - .mt-xs-5 { - margin-top: 1.5rem !important; - } - .mr-xs-5 { - margin-right: 1.5rem !important; - } - .mb-xs-5 { - margin-bottom: 1.5rem !important; - } - .ml-xs-5 { - margin-left: 1.5rem !important; - } - .mx-xs-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xs-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xs-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-6 { - margin: 2rem !important; - } - .mt-xs-6 { - margin-top: 2rem !important; - } - .mr-xs-6 { - margin-right: 2rem !important; - } - .mb-xs-6 { - margin-bottom: 2rem !important; - } - .ml-xs-6 { - margin-left: 2rem !important; - } - .mx-xs-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xs-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xs-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-7 { - margin: 2.5rem !important; - } - .mt-xs-7 { - margin-top: 2.5rem !important; - } - .mr-xs-7 { - margin-right: 2.5rem !important; - } - .mb-xs-7 { - margin-bottom: 2.5rem !important; - } - .ml-xs-7 { - margin-left: 2.5rem !important; - } - .mx-xs-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xs-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xs-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-8 { - margin: 3rem !important; - } - .mt-xs-8 { - margin-top: 3rem !important; - } - .mr-xs-8 { - margin-right: 3rem !important; - } - .mb-xs-8 { - margin-bottom: 3rem !important; - } - .ml-xs-8 { - margin-left: 3rem !important; - } - .mx-xs-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xs-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xs-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-9 { - margin: 3.5rem !important; - } - .mt-xs-9 { - margin-top: 3.5rem !important; - } - .mr-xs-9 { - margin-right: 3.5rem !important; - } - .mb-xs-9 { - margin-bottom: 3.5rem !important; - } - .ml-xs-9 { - margin-left: 3.5rem !important; - } - .mx-xs-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xs-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xs-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-10 { - margin: 4rem !important; - } - .mt-xs-10 { - margin-top: 4rem !important; - } - .mr-xs-10 { - margin-right: 4rem !important; - } - .mb-xs-10 { - margin-bottom: 4rem !important; - } - .ml-xs-10 { - margin-left: 4rem !important; - } - .mx-xs-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xs-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xs-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-sm-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-sm-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-sm-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-3 { - margin: 0.75rem !important; - } - .mt-sm-3 { - margin-top: 0.75rem !important; - } - .mr-sm-3 { - margin-right: 0.75rem !important; - } - .mb-sm-3 { - margin-bottom: 0.75rem !important; - } - .ml-sm-3 { - margin-left: 0.75rem !important; - } - .mx-sm-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-sm-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-sm-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-4 { - margin: 1rem !important; - } - .mt-sm-4 { - margin-top: 1rem !important; - } - .mr-sm-4 { - margin-right: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 1rem !important; - } - .ml-sm-4 { - margin-left: 1rem !important; - } - .mx-sm-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-sm-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-5 { - margin: 1.5rem !important; - } - .mt-sm-5 { - margin-top: 1.5rem !important; - } - .mr-sm-5 { - margin-right: 1.5rem !important; - } - .mb-sm-5 { - margin-bottom: 1.5rem !important; - } - .ml-sm-5 { - margin-left: 1.5rem !important; - } - .mx-sm-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-sm-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-6 { - margin: 2rem !important; - } - .mt-sm-6 { - margin-top: 2rem !important; - } - .mr-sm-6 { - margin-right: 2rem !important; - } - .mb-sm-6 { - margin-bottom: 2rem !important; - } - .ml-sm-6 { - margin-left: 2rem !important; - } - .mx-sm-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-sm-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-sm-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-7 { - margin: 2.5rem !important; - } - .mt-sm-7 { - margin-top: 2.5rem !important; - } - .mr-sm-7 { - margin-right: 2.5rem !important; - } - .mb-sm-7 { - margin-bottom: 2.5rem !important; - } - .ml-sm-7 { - margin-left: 2.5rem !important; - } - .mx-sm-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-sm-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-sm-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-8 { - margin: 3rem !important; - } - .mt-sm-8 { - margin-top: 3rem !important; - } - .mr-sm-8 { - margin-right: 3rem !important; - } - .mb-sm-8 { - margin-bottom: 3rem !important; - } - .ml-sm-8 { - margin-left: 3rem !important; - } - .mx-sm-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-sm-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-9 { - margin: 3.5rem !important; - } - .mt-sm-9 { - margin-top: 3.5rem !important; - } - .mr-sm-9 { - margin-right: 3.5rem !important; - } - .mb-sm-9 { - margin-bottom: 3.5rem !important; - } - .ml-sm-9 { - margin-left: 3.5rem !important; - } - .mx-sm-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-sm-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-sm-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-10 { - margin: 4rem !important; - } - .mt-sm-10 { - margin-top: 4rem !important; - } - .mr-sm-10 { - margin-right: 4rem !important; - } - .mb-sm-10 { - margin-bottom: 4rem !important; - } - .ml-sm-10 { - margin-left: 4rem !important; - } - .mx-sm-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-sm-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-sm-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 50rem) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-md-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 50rem) { - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-md-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 50rem) { - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-md-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-3 { - margin: 0.75rem !important; - } - .mt-md-3 { - margin-top: 0.75rem !important; - } - .mr-md-3 { - margin-right: 0.75rem !important; - } - .mb-md-3 { - margin-bottom: 0.75rem !important; - } - .ml-md-3 { - margin-left: 0.75rem !important; - } - .mx-md-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-md-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-md-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 50rem) { - .m-md-4 { - margin: 1rem !important; - } - .mt-md-4 { - margin-top: 1rem !important; - } - .mr-md-4 { - margin-right: 1rem !important; - } - .mb-md-4 { - margin-bottom: 1rem !important; - } - .ml-md-4 { - margin-left: 1rem !important; - } - .mx-md-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-md-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 50rem) { - .m-md-5 { - margin: 1.5rem !important; - } - .mt-md-5 { - margin-top: 1.5rem !important; - } - .mr-md-5 { - margin-right: 1.5rem !important; - } - .mb-md-5 { - margin-bottom: 1.5rem !important; - } - .ml-md-5 { - margin-left: 1.5rem !important; - } - .mx-md-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-md-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-6 { - margin: 2rem !important; - } - .mt-md-6 { - margin-top: 2rem !important; - } - .mr-md-6 { - margin-right: 2rem !important; - } - .mb-md-6 { - margin-bottom: 2rem !important; - } - .ml-md-6 { - margin-left: 2rem !important; - } - .mx-md-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-md-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-md-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 50rem) { - .m-md-7 { - margin: 2.5rem !important; - } - .mt-md-7 { - margin-top: 2.5rem !important; - } - .mr-md-7 { - margin-right: 2.5rem !important; - } - .mb-md-7 { - margin-bottom: 2.5rem !important; - } - .ml-md-7 { - margin-left: 2.5rem !important; - } - .mx-md-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-md-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-md-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-8 { - margin: 3rem !important; - } - .mt-md-8 { - margin-top: 3rem !important; - } - .mr-md-8 { - margin-right: 3rem !important; - } - .mb-md-8 { - margin-bottom: 3rem !important; - } - .ml-md-8 { - margin-left: 3rem !important; - } - .mx-md-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-md-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 50rem) { - .m-md-9 { - margin: 3.5rem !important; - } - .mt-md-9 { - margin-top: 3.5rem !important; - } - .mr-md-9 { - margin-right: 3.5rem !important; - } - .mb-md-9 { - margin-bottom: 3.5rem !important; - } - .ml-md-9 { - margin-left: 3.5rem !important; - } - .mx-md-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-md-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-md-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-10 { - margin: 4rem !important; - } - .mt-md-10 { - margin-top: 4rem !important; - } - .mr-md-10 { - margin-right: 4rem !important; - } - .mb-md-10 { - margin-bottom: 4rem !important; - } - .ml-md-10 { - margin-left: 4rem !important; - } - .mx-md-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-md-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-md-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-lg-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-lg-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-lg-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-3 { - margin: 0.75rem !important; - } - .mt-lg-3 { - margin-top: 0.75rem !important; - } - .mr-lg-3 { - margin-right: 0.75rem !important; - } - .mb-lg-3 { - margin-bottom: 0.75rem !important; - } - .ml-lg-3 { - margin-left: 0.75rem !important; - } - .mx-lg-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-lg-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-lg-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-4 { - margin: 1rem !important; - } - .mt-lg-4 { - margin-top: 1rem !important; - } - .mr-lg-4 { - margin-right: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 1rem !important; - } - .ml-lg-4 { - margin-left: 1rem !important; - } - .mx-lg-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-lg-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-5 { - margin: 1.5rem !important; - } - .mt-lg-5 { - margin-top: 1.5rem !important; - } - .mr-lg-5 { - margin-right: 1.5rem !important; - } - .mb-lg-5 { - margin-bottom: 1.5rem !important; - } - .ml-lg-5 { - margin-left: 1.5rem !important; - } - .mx-lg-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-lg-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-6 { - margin: 2rem !important; - } - .mt-lg-6 { - margin-top: 2rem !important; - } - .mr-lg-6 { - margin-right: 2rem !important; - } - .mb-lg-6 { - margin-bottom: 2rem !important; - } - .ml-lg-6 { - margin-left: 2rem !important; - } - .mx-lg-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-lg-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-lg-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-7 { - margin: 2.5rem !important; - } - .mt-lg-7 { - margin-top: 2.5rem !important; - } - .mr-lg-7 { - margin-right: 2.5rem !important; - } - .mb-lg-7 { - margin-bottom: 2.5rem !important; - } - .ml-lg-7 { - margin-left: 2.5rem !important; - } - .mx-lg-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-lg-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-lg-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-8 { - margin: 3rem !important; - } - .mt-lg-8 { - margin-top: 3rem !important; - } - .mr-lg-8 { - margin-right: 3rem !important; - } - .mb-lg-8 { - margin-bottom: 3rem !important; - } - .ml-lg-8 { - margin-left: 3rem !important; - } - .mx-lg-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-lg-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-9 { - margin: 3.5rem !important; - } - .mt-lg-9 { - margin-top: 3.5rem !important; - } - .mr-lg-9 { - margin-right: 3.5rem !important; - } - .mb-lg-9 { - margin-bottom: 3.5rem !important; - } - .ml-lg-9 { - margin-left: 3.5rem !important; - } - .mx-lg-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-lg-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-lg-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-10 { - margin: 4rem !important; - } - .mt-lg-10 { - margin-top: 4rem !important; - } - .mr-lg-10 { - margin-right: 4rem !important; - } - .mb-lg-10 { - margin-bottom: 4rem !important; - } - .ml-lg-10 { - margin-left: 4rem !important; - } - .mx-lg-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-lg-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-lg-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xl-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xl-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xl-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-3 { - margin: 0.75rem !important; - } - .mt-xl-3 { - margin-top: 0.75rem !important; - } - .mr-xl-3 { - margin-right: 0.75rem !important; - } - .mb-xl-3 { - margin-bottom: 0.75rem !important; - } - .ml-xl-3 { - margin-left: 0.75rem !important; - } - .mx-xl-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xl-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xl-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-4 { - margin: 1rem !important; - } - .mt-xl-4 { - margin-top: 1rem !important; - } - .mr-xl-4 { - margin-right: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 1rem !important; - } - .ml-xl-4 { - margin-left: 1rem !important; - } - .mx-xl-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xl-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-5 { - margin: 1.5rem !important; - } - .mt-xl-5 { - margin-top: 1.5rem !important; - } - .mr-xl-5 { - margin-right: 1.5rem !important; - } - .mb-xl-5 { - margin-bottom: 1.5rem !important; - } - .ml-xl-5 { - margin-left: 1.5rem !important; - } - .mx-xl-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xl-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-6 { - margin: 2rem !important; - } - .mt-xl-6 { - margin-top: 2rem !important; - } - .mr-xl-6 { - margin-right: 2rem !important; - } - .mb-xl-6 { - margin-bottom: 2rem !important; - } - .ml-xl-6 { - margin-left: 2rem !important; - } - .mx-xl-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xl-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xl-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-7 { - margin: 2.5rem !important; - } - .mt-xl-7 { - margin-top: 2.5rem !important; - } - .mr-xl-7 { - margin-right: 2.5rem !important; - } - .mb-xl-7 { - margin-bottom: 2.5rem !important; - } - .ml-xl-7 { - margin-left: 2.5rem !important; - } - .mx-xl-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xl-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xl-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-8 { - margin: 3rem !important; - } - .mt-xl-8 { - margin-top: 3rem !important; - } - .mr-xl-8 { - margin-right: 3rem !important; - } - .mb-xl-8 { - margin-bottom: 3rem !important; - } - .ml-xl-8 { - margin-left: 3rem !important; - } - .mx-xl-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xl-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-9 { - margin: 3.5rem !important; - } - .mt-xl-9 { - margin-top: 3.5rem !important; - } - .mr-xl-9 { - margin-right: 3.5rem !important; - } - .mb-xl-9 { - margin-bottom: 3.5rem !important; - } - .ml-xl-9 { - margin-left: 3.5rem !important; - } - .mx-xl-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xl-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xl-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-10 { - margin: 4rem !important; - } - .mt-xl-10 { - margin-top: 4rem !important; - } - .mr-xl-10 { - margin-right: 4rem !important; - } - .mb-xl-10 { - margin-bottom: 4rem !important; - } - .ml-xl-10 { - margin-left: 4rem !important; - } - .mx-xl-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xl-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xl-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -.p-0 { - padding: 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 0.75rem !important; -} - -.pt-3 { - padding-top: 0.75rem !important; -} - -.pr-3 { - padding-right: 0.75rem !important; -} - -.pb-3 { - padding-bottom: 0.75rem !important; -} - -.pl-3 { - padding-left: 0.75rem !important; -} - -.px-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; -} - -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} - -.p-4 { - padding: 1rem !important; -} - -.pt-4 { - padding-top: 1rem !important; -} - -.pr-4 { - padding-right: 1rem !important; -} - -.pb-4 { - padding-bottom: 1rem !important; -} - -.pl-4 { - padding-left: 1rem !important; -} - -.px-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-5 { - padding: 1.5rem !important; -} - -.pt-5 { - padding-top: 1.5rem !important; -} - -.pr-5 { - padding-right: 1.5rem !important; -} - -.pb-5 { - padding-bottom: 1.5rem !important; -} - -.pl-5 { - padding-left: 1.5rem !important; -} - -.px-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-6 { - padding: 2rem !important; -} - -.pt-6 { - padding-top: 2rem !important; -} - -.pr-6 { - padding-right: 2rem !important; -} - -.pb-6 { - padding-bottom: 2rem !important; -} - -.pl-6 { - padding-left: 2rem !important; -} - -.px-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; -} - -.py-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.p-7 { - padding: 2.5rem !important; -} - -.pt-7 { - padding-top: 2.5rem !important; -} - -.pr-7 { - padding-right: 2.5rem !important; -} - -.pb-7 { - padding-bottom: 2.5rem !important; -} - -.pl-7 { - padding-left: 2.5rem !important; -} - -.px-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; -} - -.py-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; -} - -.p-8 { - padding: 3rem !important; -} - -.pt-8 { - padding-top: 3rem !important; -} - -.pr-8 { - padding-right: 3rem !important; -} - -.pb-8 { - padding-bottom: 3rem !important; -} - -.pl-8 { - padding-left: 3rem !important; -} - -.px-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.p-9 { - padding: 3.5rem !important; -} - -.pt-9 { - padding-top: 3.5rem !important; -} - -.pr-9 { - padding-right: 3.5rem !important; -} - -.pb-9 { - padding-bottom: 3.5rem !important; -} - -.pl-9 { - padding-left: 3.5rem !important; -} - -.px-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; -} - -.py-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; -} - -.p-10 { - padding: 4rem !important; -} - -.pt-10 { - padding-top: 4rem !important; -} - -.pr-10 { - padding-right: 4rem !important; -} - -.pb-10 { - padding-bottom: 4rem !important; -} - -.pl-10 { - padding-left: 4rem !important; -} - -.px-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; -} - -.py-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -@media (min-width: 20rem) { - .p-xs-0 { - padding: 0 !important; - } - .pt-xs-0 { - padding-top: 0 !important; - } - .pr-xs-0 { - padding-right: 0 !important; - } - .pb-xs-0 { - padding-bottom: 0 !important; - } - .pl-xs-0 { - padding-left: 0 !important; - } - .px-xs-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xs-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xs-1 { - padding: 0.25rem !important; - } - .pt-xs-1 { - padding-top: 0.25rem !important; - } - .pr-xs-1 { - padding-right: 0.25rem !important; - } - .pb-xs-1 { - padding-bottom: 0.25rem !important; - } - .pl-xs-1 { - padding-left: 0.25rem !important; - } - .px-xs-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xs-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xs-2 { - padding: 0.5rem !important; - } - .pt-xs-2 { - padding-top: 0.5rem !important; - } - .pr-xs-2 { - padding-right: 0.5rem !important; - } - .pb-xs-2 { - padding-bottom: 0.5rem !important; - } - .pl-xs-2 { - padding-left: 0.5rem !important; - } - .px-xs-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xs-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xs-3 { - padding: 0.75rem !important; - } - .pt-xs-3 { - padding-top: 0.75rem !important; - } - .pr-xs-3 { - padding-right: 0.75rem !important; - } - .pb-xs-3 { - padding-bottom: 0.75rem !important; - } - .pl-xs-3 { - padding-left: 0.75rem !important; - } - .px-xs-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xs-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xs-4 { - padding: 1rem !important; - } - .pt-xs-4 { - padding-top: 1rem !important; - } - .pr-xs-4 { - padding-right: 1rem !important; - } - .pb-xs-4 { - padding-bottom: 1rem !important; - } - .pl-xs-4 { - padding-left: 1rem !important; - } - .px-xs-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xs-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xs-5 { - padding: 1.5rem !important; - } - .pt-xs-5 { - padding-top: 1.5rem !important; - } - .pr-xs-5 { - padding-right: 1.5rem !important; - } - .pb-xs-5 { - padding-bottom: 1.5rem !important; - } - .pl-xs-5 { - padding-left: 1.5rem !important; - } - .px-xs-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xs-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xs-6 { - padding: 2rem !important; - } - .pt-xs-6 { - padding-top: 2rem !important; - } - .pr-xs-6 { - padding-right: 2rem !important; - } - .pb-xs-6 { - padding-bottom: 2rem !important; - } - .pl-xs-6 { - padding-left: 2rem !important; - } - .px-xs-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xs-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xs-7 { - padding: 2.5rem !important; - } - .pt-xs-7 { - padding-top: 2.5rem !important; - } - .pr-xs-7 { - padding-right: 2.5rem !important; - } - .pb-xs-7 { - padding-bottom: 2.5rem !important; - } - .pl-xs-7 { - padding-left: 2.5rem !important; - } - .px-xs-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xs-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xs-8 { - padding: 3rem !important; - } - .pt-xs-8 { - padding-top: 3rem !important; - } - .pr-xs-8 { - padding-right: 3rem !important; - } - .pb-xs-8 { - padding-bottom: 3rem !important; - } - .pl-xs-8 { - padding-left: 3rem !important; - } - .px-xs-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xs-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xs-9 { - padding: 3.5rem !important; - } - .pt-xs-9 { - padding-top: 3.5rem !important; - } - .pr-xs-9 { - padding-right: 3.5rem !important; - } - .pb-xs-9 { - padding-bottom: 3.5rem !important; - } - .pl-xs-9 { - padding-left: 3.5rem !important; - } - .px-xs-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xs-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xs-10 { - padding: 4rem !important; - } - .pt-xs-10 { - padding-top: 4rem !important; - } - .pr-xs-10 { - padding-right: 4rem !important; - } - .pb-xs-10 { - padding-bottom: 4rem !important; - } - .pl-xs-10 { - padding-left: 4rem !important; - } - .px-xs-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xs-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 31.25rem) { - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 0.75rem !important; - } - .pt-sm-3 { - padding-top: 0.75rem !important; - } - .pr-sm-3 { - padding-right: 0.75rem !important; - } - .pb-sm-3 { - padding-bottom: 0.75rem !important; - } - .pl-sm-3 { - padding-left: 0.75rem !important; - } - .px-sm-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-sm-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-sm-4 { - padding: 1rem !important; - } - .pt-sm-4 { - padding-top: 1rem !important; - } - .pr-sm-4 { - padding-right: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 1rem !important; - } - .pl-sm-4 { - padding-left: 1rem !important; - } - .px-sm-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-5 { - padding: 1.5rem !important; - } - .pt-sm-5 { - padding-top: 1.5rem !important; - } - .pr-sm-5 { - padding-right: 1.5rem !important; - } - .pb-sm-5 { - padding-bottom: 1.5rem !important; - } - .pl-sm-5 { - padding-left: 1.5rem !important; - } - .px-sm-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-6 { - padding: 2rem !important; - } - .pt-sm-6 { - padding-top: 2rem !important; - } - .pr-sm-6 { - padding-right: 2rem !important; - } - .pb-sm-6 { - padding-bottom: 2rem !important; - } - .pl-sm-6 { - padding-left: 2rem !important; - } - .px-sm-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-sm-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-sm-7 { - padding: 2.5rem !important; - } - .pt-sm-7 { - padding-top: 2.5rem !important; - } - .pr-sm-7 { - padding-right: 2.5rem !important; - } - .pb-sm-7 { - padding-bottom: 2.5rem !important; - } - .pl-sm-7 { - padding-left: 2.5rem !important; - } - .px-sm-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-sm-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-sm-8 { - padding: 3rem !important; - } - .pt-sm-8 { - padding-top: 3rem !important; - } - .pr-sm-8 { - padding-right: 3rem !important; - } - .pb-sm-8 { - padding-bottom: 3rem !important; - } - .pl-sm-8 { - padding-left: 3rem !important; - } - .px-sm-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-sm-9 { - padding: 3.5rem !important; - } - .pt-sm-9 { - padding-top: 3.5rem !important; - } - .pr-sm-9 { - padding-right: 3.5rem !important; - } - .pb-sm-9 { - padding-bottom: 3.5rem !important; - } - .pl-sm-9 { - padding-left: 3.5rem !important; - } - .px-sm-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-sm-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-sm-10 { - padding: 4rem !important; - } - .pt-sm-10 { - padding-top: 4rem !important; - } - .pr-sm-10 { - padding-right: 4rem !important; - } - .pb-sm-10 { - padding-bottom: 4rem !important; - } - .pl-sm-10 { - padding-left: 4rem !important; - } - .px-sm-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-sm-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 50rem) { - .p-md-0 { - padding: 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 0.75rem !important; - } - .pt-md-3 { - padding-top: 0.75rem !important; - } - .pr-md-3 { - padding-right: 0.75rem !important; - } - .pb-md-3 { - padding-bottom: 0.75rem !important; - } - .pl-md-3 { - padding-left: 0.75rem !important; - } - .px-md-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-md-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-md-4 { - padding: 1rem !important; - } - .pt-md-4 { - padding-top: 1rem !important; - } - .pr-md-4 { - padding-right: 1rem !important; - } - .pb-md-4 { - padding-bottom: 1rem !important; - } - .pl-md-4 { - padding-left: 1rem !important; - } - .px-md-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-5 { - padding: 1.5rem !important; - } - .pt-md-5 { - padding-top: 1.5rem !important; - } - .pr-md-5 { - padding-right: 1.5rem !important; - } - .pb-md-5 { - padding-bottom: 1.5rem !important; - } - .pl-md-5 { - padding-left: 1.5rem !important; - } - .px-md-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-6 { - padding: 2rem !important; - } - .pt-md-6 { - padding-top: 2rem !important; - } - .pr-md-6 { - padding-right: 2rem !important; - } - .pb-md-6 { - padding-bottom: 2rem !important; - } - .pl-md-6 { - padding-left: 2rem !important; - } - .px-md-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-md-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-md-7 { - padding: 2.5rem !important; - } - .pt-md-7 { - padding-top: 2.5rem !important; - } - .pr-md-7 { - padding-right: 2.5rem !important; - } - .pb-md-7 { - padding-bottom: 2.5rem !important; - } - .pl-md-7 { - padding-left: 2.5rem !important; - } - .px-md-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-md-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-md-8 { - padding: 3rem !important; - } - .pt-md-8 { - padding-top: 3rem !important; - } - .pr-md-8 { - padding-right: 3rem !important; - } - .pb-md-8 { - padding-bottom: 3rem !important; - } - .pl-md-8 { - padding-left: 3rem !important; - } - .px-md-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-md-9 { - padding: 3.5rem !important; - } - .pt-md-9 { - padding-top: 3.5rem !important; - } - .pr-md-9 { - padding-right: 3.5rem !important; - } - .pb-md-9 { - padding-bottom: 3.5rem !important; - } - .pl-md-9 { - padding-left: 3.5rem !important; - } - .px-md-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-md-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-md-10 { - padding: 4rem !important; - } - .pt-md-10 { - padding-top: 4rem !important; - } - .pr-md-10 { - padding-right: 4rem !important; - } - .pb-md-10 { - padding-bottom: 4rem !important; - } - .pl-md-10 { - padding-left: 4rem !important; - } - .px-md-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-md-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 66.5rem) { - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 0.75rem !important; - } - .pt-lg-3 { - padding-top: 0.75rem !important; - } - .pr-lg-3 { - padding-right: 0.75rem !important; - } - .pb-lg-3 { - padding-bottom: 0.75rem !important; - } - .pl-lg-3 { - padding-left: 0.75rem !important; - } - .px-lg-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-lg-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-lg-4 { - padding: 1rem !important; - } - .pt-lg-4 { - padding-top: 1rem !important; - } - .pr-lg-4 { - padding-right: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 1rem !important; - } - .pl-lg-4 { - padding-left: 1rem !important; - } - .px-lg-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-5 { - padding: 1.5rem !important; - } - .pt-lg-5 { - padding-top: 1.5rem !important; - } - .pr-lg-5 { - padding-right: 1.5rem !important; - } - .pb-lg-5 { - padding-bottom: 1.5rem !important; - } - .pl-lg-5 { - padding-left: 1.5rem !important; - } - .px-lg-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-6 { - padding: 2rem !important; - } - .pt-lg-6 { - padding-top: 2rem !important; - } - .pr-lg-6 { - padding-right: 2rem !important; - } - .pb-lg-6 { - padding-bottom: 2rem !important; - } - .pl-lg-6 { - padding-left: 2rem !important; - } - .px-lg-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-lg-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-lg-7 { - padding: 2.5rem !important; - } - .pt-lg-7 { - padding-top: 2.5rem !important; - } - .pr-lg-7 { - padding-right: 2.5rem !important; - } - .pb-lg-7 { - padding-bottom: 2.5rem !important; - } - .pl-lg-7 { - padding-left: 2.5rem !important; - } - .px-lg-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-lg-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-lg-8 { - padding: 3rem !important; - } - .pt-lg-8 { - padding-top: 3rem !important; - } - .pr-lg-8 { - padding-right: 3rem !important; - } - .pb-lg-8 { - padding-bottom: 3rem !important; - } - .pl-lg-8 { - padding-left: 3rem !important; - } - .px-lg-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-lg-9 { - padding: 3.5rem !important; - } - .pt-lg-9 { - padding-top: 3.5rem !important; - } - .pr-lg-9 { - padding-right: 3.5rem !important; - } - .pb-lg-9 { - padding-bottom: 3.5rem !important; - } - .pl-lg-9 { - padding-left: 3.5rem !important; - } - .px-lg-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-lg-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-lg-10 { - padding: 4rem !important; - } - .pt-lg-10 { - padding-top: 4rem !important; - } - .pr-lg-10 { - padding-right: 4rem !important; - } - .pb-lg-10 { - padding-bottom: 4rem !important; - } - .pl-lg-10 { - padding-left: 4rem !important; - } - .px-lg-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-lg-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 87.5rem) { - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 0.75rem !important; - } - .pt-xl-3 { - padding-top: 0.75rem !important; - } - .pr-xl-3 { - padding-right: 0.75rem !important; - } - .pb-xl-3 { - padding-bottom: 0.75rem !important; - } - .pl-xl-3 { - padding-left: 0.75rem !important; - } - .px-xl-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xl-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xl-4 { - padding: 1rem !important; - } - .pt-xl-4 { - padding-top: 1rem !important; - } - .pr-xl-4 { - padding-right: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 1rem !important; - } - .pl-xl-4 { - padding-left: 1rem !important; - } - .px-xl-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-5 { - padding: 1.5rem !important; - } - .pt-xl-5 { - padding-top: 1.5rem !important; - } - .pr-xl-5 { - padding-right: 1.5rem !important; - } - .pb-xl-5 { - padding-bottom: 1.5rem !important; - } - .pl-xl-5 { - padding-left: 1.5rem !important; - } - .px-xl-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-6 { - padding: 2rem !important; - } - .pt-xl-6 { - padding-top: 2rem !important; - } - .pr-xl-6 { - padding-right: 2rem !important; - } - .pb-xl-6 { - padding-bottom: 2rem !important; - } - .pl-xl-6 { - padding-left: 2rem !important; - } - .px-xl-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xl-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xl-7 { - padding: 2.5rem !important; - } - .pt-xl-7 { - padding-top: 2.5rem !important; - } - .pr-xl-7 { - padding-right: 2.5rem !important; - } - .pb-xl-7 { - padding-bottom: 2.5rem !important; - } - .pl-xl-7 { - padding-left: 2.5rem !important; - } - .px-xl-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xl-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xl-8 { - padding: 3rem !important; - } - .pt-xl-8 { - padding-top: 3rem !important; - } - .pr-xl-8 { - padding-right: 3rem !important; - } - .pb-xl-8 { - padding-bottom: 3rem !important; - } - .pl-xl-8 { - padding-left: 3rem !important; - } - .px-xl-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xl-9 { - padding: 3.5rem !important; - } - .pt-xl-9 { - padding-top: 3.5rem !important; - } - .pr-xl-9 { - padding-right: 3.5rem !important; - } - .pb-xl-9 { - padding-bottom: 3.5rem !important; - } - .pl-xl-9 { - padding-left: 3.5rem !important; - } - .px-xl-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xl-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xl-10 { - padding: 4rem !important; - } - .pt-xl-10 { - padding-top: 4rem !important; - } - .pr-xl-10 { - padding-right: 4rem !important; - } - .pb-xl-10 { - padding-bottom: 4rem !important; - } - .pl-xl-10 { - padding-left: 4rem !important; - } - .px-xl-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xl-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media print { - .site-footer, - .site-button, - #edit-this-page, - #back-to-top, - .site-nav, - .main-header { - display: none !important; - } - hr { - margin-top: 1rem; - margin-bottom: 1rem; - } - .side-bar { - width: 100%; - height: auto; - border-right: 0 !important; - } - .site-header { - border-bottom: 1px solid #44434d; - } - .site-title { - font-size: 1rem !important; - font-weight: 700 !important; - } - .text-small { - font-size: 8pt !important; - } - pre.highlight { - border: 1px solid #44434d; - } - .main { - max-width: none; - margin-left: 0; - } -} -a.skip-to-main { - left: -999px; - position: absolute; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; - z-index: -999; -} - -a.skip-to-main:focus, -a.skip-to-main:active { - color: rgb(36.7919389978%, 63.1535947712%, 98.5021786492%); - background-color: #27262b; - left: auto; - top: auto; - width: 30%; - height: auto; - overflow: auto; - margin: 10px 35%; - padding: 5px; - border-radius: 15px; - border: 4px solid #264caf; - text-align: center; - font-size: 1.2em; - z-index: 999; -} - -div.opaque { - background-color: #27262b; -} - -p.tip, blockquote.tip { - border: 1px #026e57 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip::before, blockquote.tip::before { - color: #026e57; - content: "Tip"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.tip > .tip-title, blockquote.tip > .tip-title { - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.tip-title, blockquote.tip-title { - border: 1px #026e57 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip-title > p:first-child, blockquote.tip-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.tip { - margin-left: 0; - margin-right: 0; -} -blockquote.tip > p:first-child { - margin-top: 0; -} -blockquote.tip > p:last-child { - margin-bottom: 0; -} - -blockquote.tip-title { - margin-left: 0; - margin-right: 0; -} -blockquote.tip-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.tip-title > p:last-child { - margin-bottom: 0; -} - -p.note, blockquote.note { - border: 1px #183385 solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note::before, blockquote.note::before { - color: #183385; - content: "Note"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.note > .note-title, blockquote.note > .note-title { - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.note-title, blockquote.note-title { - border: 1px #183385 solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note-title > p:first-child, blockquote.note-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.note { - margin-left: 0; - margin-right: 0; -} -blockquote.note > p:first-child { - margin-top: 0; -} -blockquote.note > p:last-child { - margin-bottom: 0; -} - -blockquote.note-title { - margin-left: 0; - margin-right: 0; -} -blockquote.note-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.note-title > p:last-child { - margin-bottom: 0; -} - -p.warning, blockquote.warning { - border: 1px #e7af06 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning::before, blockquote.warning::before { - color: #e7af06; - content: "Warning"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.warning > .warning-title, blockquote.warning > .warning-title { - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.warning-title, blockquote.warning-title { - border: 1px #e7af06 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning-title > p:first-child, blockquote.warning-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.warning { - margin-left: 0; - margin-right: 0; -} -blockquote.warning > p:first-child { - margin-top: 0; -} -blockquote.warning > p:last-child { - margin-bottom: 0; -} - -blockquote.warning-title { - margin-left: 0; - margin-right: 0; -} -blockquote.warning-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.warning-title > p:last-child { - margin-bottom: 0; -} - -/*# sourceMappingURL=just-the-docs-dark.css.map */ \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-dark.css.map b/v2.8.0/assets/css/just-the-docs-dark.css.map deleted file mode 100644 index 004744d32d..0000000000 --- a/v2.8.0/assets/css/just-the-docs-dark.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/accessible-pygments/github-dark.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/base.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/color_schemes/dark.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/_variables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/content.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/navigation.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/labels.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/search.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/tables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/code.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_colors.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_lists.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_spacing.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/print.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/skiptomain.scss","just-the-docs-dark.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAa;EAAqB;;;AAClC;EAAgB;EAAgB;EAAqB;AACrD;EAAkB;EAAiB;AACnC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAgB;EAAoB;AACpD;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAmB;EAAqB;AACzE;EAAkB;EAAgB;EAAqB;AACvD;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAmB;EAAqB;AACzE;EAAiB;EAAgB;EAA4B;AAC7D;EAAiB;EAAgB;EAAqB;AACtD;EAAkB;EAAgB;EAAmB;EAAqB;AAC1E;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAA4B;AAC7D;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAA0B;EAAgB;EAA6B;AACvE;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AC1FlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEmBA;EACE;;AClBA;EHHJ;IEyBI;;;;AFnBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIiBY;EJhBZ,kBIYY;EJXZ;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIjBY;;;AJoBd;EACE;EACA;;;AAGF;EACE,OCzDW;ED0DX;;;AAGF;EACE;EACA,uBInCY;EJoCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBInEY;EJoEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD4BY;;ADpBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDLQ;;ADpBV;EEuBA;IAKI;IACA,kBDTM;;;ACYR;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODnGY;EDVZ,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF/BL;EACE;;ACtCA;EEiHJ;IHvEI;IACA,aEhDuB;;;ADKvB;EEiHJ;IAcI,aD/DG;ICgEH,gBDhEG;;;;AC+EP;EACE;EACA;EACA,SDhFK;ECiFL;;;AFnJE;EEuJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aD/GK;ECgHL,gBDhHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE6KJ;IF9JI,eCqDG;IDpDH,cCoDG;;;AFvEL;EACE;;ACEA;EE6KJ;IH3KI;;;ACFA;EE6KJ;IAYI;IACA;;;;AAIJ;EACE,OD5HK;EC6HL,QD7HK;EC8HL,OJ3MW;;;AKCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJ1BN;EACE;;ACRA;EG2BE;IJfF;;;ACZA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OL/KO;EKgLP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALoBF;EACE;;AClBA;EILF;IL2BE;;;ACtBA;EDOF;IACE;;;ACRA;EILF;ILiBE;;;AKPA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EAEE,eH0DD;EGzDC,cHqDD;;ADlEH;EIKA;IAeI,YHgDD;IG/CC;IAEE,eH6CH;IG5CG,cH4CH;;;AGrCD;EACE,OHkCD;EGjCC,QHiCD;EGhCC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHUC;EGTD,QHSC;EGRD;EACA,ONzEO;;AEUT;EIsDA;IAYI,OHED;IGDC,QHCD;IGAC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cHvBC;EGwBD;;AAEA;EACE;;AAEA;EACE,OH/EI;;AGkFN;EACE,OHnFI;;AGyFR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;ALhIA;EACE;;ACEA;EIwHJ;ILtHI;;;ACFA;EIwHJ;IASI;IACA,YHhEG;IGiEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,ON9JG;;AMiKL;EACE,ONlKG;;;AM2Kb;EACE;EACA;;ALtKA;EACE;;ACEA;EIiKJ;IL/JI;;;AKoKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJlLA;EIiKJ;IAqBI,eHpHG;;;;ADlEH;EI4LJ;IAEI;;;;AAIJ;EACE;EACA,eHnIK;EGoIL;;;AAGF;EACE;;AL5MA;EACE;;ACEA;EIwMJ;ILtMI;;;AK0MF;EACE;;AAGF;EACE;EACA,cHlJG;EGmJH,aHnJG;EGoJH,OHpMU;EGqMV;;AAIA;EACE;;;ACrON;AAAA;EAEE;;ANoEA;AAAA;EACE;EACA,aElEuB;;ADKvB;EKXJ;AAAA;IN4EI;;;;AA5BF;AAAA;AAAA;EACE;;ACtCA;EKJJ;AAAA;AAAA;IN8CI;IACA,aEhDuB;;;;AFgCzB;AAAA;EACE;;AC5BA;EKEJ;AAAA;IN8BI;;;;AMzBJ;AAAA;EAEE;EACA;EACA;;ANdA;AAAA;EACE;;ACEA;EKOJ;AAAA;INLI;;;;AMcJ;EACE;;;ANVA;AAAA;EACE;;ACRA;EKoBJ;AAAA;INRI;;;;AAfF;AAAA;EACE;;ACEA;EKyBJ;AAAA;INvBI;;;;AALF;EACE;;ACEA;EK8BJ;IN5BI;;;;AMgCJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APLA;AAAA;EACE;;ACEA;EMRJ;AAAA;IPUI;;;;AOKJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OTRW;ESSX;EACA;EACA;EACA,kBNiBY;EMhBZ;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,OTtEW;ESuEX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORTY;EQUZ,kBRfY;EQgBZ;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBRxBU;IQyBV;;;AAGF;EACE;EACA;;AAEA;EACE,OX/DO;;;AWoEb;EACE;EACA;EACA;EACA,cRIK;;ADlEH;ES0DJ;IAOI,cRGG;IQFH;;;AAGF;EACE;EACA;EACA;EACA,ORzDU;;;AQ6Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRjEY;EQkEZ,4BRRc;EQSd,2BRTc;EQUd,YACE;;ATxFA;ES6EJ;IAeI;IACA,ORFmB;IQGnB;;;;AAIJ;EACE;EACA,eRrCK;EQsCL;;AVpFA;EACE;;AClBA;ESkGJ;IV5EI;;;ACtBA;EDOF;IACE;;;ACRA;ESkGJ;IVtFI;;;;AUiGJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EAEE,kBX3Ha;;;AW+HjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVxIF;EACE;;ACRA;ES8IF;IVlIE;;;ACZA;EDHF;IACE;;;ACEA;ES8IF;IV5IE;;;AUqJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,OXrKS;EWsKT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,ORrJY;EQsJZ;EACA;;AV5LA;EACE;;ACYA;ESyKJ;IVjLI;;;;AU2LJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORjKY;EQkKZ;EACA,aR/GO;EQgHP,mBR1KY;;AFrBZ;EACE;;ACEA;ESmLJ;IVjLI;;;ACFA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AV1MA;EACE;;ACRA;ESgNJ;IVpMI;;;;AUyMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBRzMY;EQ0MZ;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBRzPU;;ADnBV;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTQY;ESPZ;EACA;;AXNA;AAAA;EACE;;ACRA;EUOJ;AAAA;IXKI;;;AWKF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBbDoB;EaEpB;EACA,eV+EY;;;AU1EhB;EACE,cVcY;;;AUqCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBbjEsB;EakEtB,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OVtDU;EUuDV;;AAEA;AAAA;AAAA;EACE,MV1DQ;;AU6DV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBb/KoB;EagLpB;;AZ9KF;AAAA;EACE;;ACEA;EWsKF;AAAA;IZpKE;;;AY8KF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YblOsB;EaqOpB,ObpOoB;;;Aa2OxB;EACE,Yb7OsB;;;AcLxB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AdhHA;EACE;;ACYA;EcZJ;IfII;;;;AAKF;EACE;;ACEA;EcRJ;IfUI;;;;AAKF;EACE;;ACRA;EcJJ;IfgBI;;;;AAKF;EACE;;AClBA;EcAJ;IfsBI;;;;AAKF;EACE;;AC5BA;EcIJ;If4BI;;;;AAKF;EACE;;ACtCA;EcQJ;IfkCI;IACA,aEhDuB;;;;AFqDzB;EACE;EACA,aEvDuB;;ADKvB;EcYJ;If0CI;;;;AAKF;EACE;EACA,aElEuB;;ADKvB;EcgBJ;IfiDI;;;;AAKF;EACE;EACA,aE7EuB;;ADKvB;EcoBJ;IfwDI;;;;AAKF;EACE;EACA,aExFuB;;ADKvB;EcwBJ;If+DI;;;;Ae3DJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;ACvCJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OpBXW;EoBYX,kBjBkBY;EiBjBZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE,kBlByBY;;;AkBtBd;EACI;EACA;EACA,elB4EY;EkB3EZ;EACA;;AAEA;EACI,OlB8BI;EkB7BJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBoBM;EkBnBN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBiDY;EkBhDZ;EACA;;AACA;EACE;EACA;EACA,OlBEM;EkBDN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBGY;EkBFZ;EACA;;AAEA;EACI,OlB/CG;EkBgDH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBzDK;EkB0DL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBxBY;EkByBZ;EACA;;AACA;EACE;EACA;EACA,OlB3EK;EkB4EL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBtEY;EkBuEZ;EACA;;AAEA;EACI,OlBhHK;EkBiHL;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB1HO;EkB2HP;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBjGY;EkBkGZ;EACA;;AACA;EACE;EACA;EACA,OlB5IO;EkB6IP;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #6e7681 }\n.highlight { background: #0d1117; color: #E6EDF3 }\n.highlight .c { color: #8B949E; font-style: italic } /* Comment */\n.highlight .err { color: #F85149 } /* Error */\n.highlight .esc { color: #E6EDF3 } /* Escape */\n.highlight .g { color: #E6EDF3 } /* Generic */\n.highlight .k { color: #FF7B72 } /* Keyword */\n.highlight .l { color: #A5D6FF } /* Literal */\n.highlight .n { color: #E6EDF3 } /* Name */\n.highlight .o { color: #FF7B72; font-weight: bold } /* Operator */\n.highlight .x { color: #E6EDF3 } /* Other */\n.highlight .p { color: #E6EDF3 } /* Punctuation */\n.highlight .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */\n.highlight .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #8B949E; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */\n.highlight .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */\n.highlight .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */\n.highlight .gr { color: #FFA198 } /* Generic.Error */\n.highlight .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */\n.highlight .go { color: #8B949E } /* Generic.Output */\n.highlight .gp { color: #8B949E } /* Generic.Prompt */\n.highlight .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #79C0FF } /* Generic.Subheading */\n.highlight .gt { color: #FF7B72 } /* Generic.Traceback */\n.highlight .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */\n.highlight .kc { color: #79C0FF } /* Keyword.Constant */\n.highlight .kd { color: #FF7B72 } /* Keyword.Declaration */\n.highlight .kn { color: #FF7B72 } /* Keyword.Namespace */\n.highlight .kp { color: #79C0FF } /* Keyword.Pseudo */\n.highlight .kr { color: #FF7B72 } /* Keyword.Reserved */\n.highlight .kt { color: #FF7B72 } /* Keyword.Type */\n.highlight .ld { color: #79C0FF } /* Literal.Date */\n.highlight .m { color: #A5D6FF } /* Literal.Number */\n.highlight .s { color: #A5D6FF } /* Literal.String */\n.highlight .na { color: #E6EDF3 } /* Name.Attribute */\n.highlight .nb { color: #E6EDF3 } /* Name.Builtin */\n.highlight .nc { color: #F0883E; font-weight: bold } /* Name.Class */\n.highlight .no { color: #79C0FF; font-weight: bold } /* Name.Constant */\n.highlight .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */\n.highlight .ni { color: #FFA657 } /* Name.Entity */\n.highlight .ne { color: #F0883E; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */\n.highlight .nl { color: #79C0FF; font-weight: bold } /* Name.Label */\n.highlight .nn { color: #FF7B72 } /* Name.Namespace */\n.highlight .nx { color: #E6EDF3 } /* Name.Other */\n.highlight .py { color: #79C0FF } /* Name.Property */\n.highlight .nt { color: #7EE787 } /* Name.Tag */\n.highlight .nv { color: #79C0FF } /* Name.Variable */\n.highlight .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */\n.highlight .pm { color: #E6EDF3 } /* Punctuation.Marker */\n.highlight .w { color: #6E7681 } /* Text.Whitespace */\n.highlight .mb { color: #A5D6FF } /* Literal.Number.Bin */\n.highlight .mf { color: #A5D6FF } /* Literal.Number.Float */\n.highlight .mh { color: #A5D6FF } /* Literal.Number.Hex */\n.highlight .mi { color: #A5D6FF } /* Literal.Number.Integer */\n.highlight .mo { color: #A5D6FF } /* Literal.Number.Oct */\n.highlight .sa { color: #79C0FF } /* Literal.String.Affix */\n.highlight .sb { color: #A5D6FF } /* Literal.String.Backtick */\n.highlight .sc { color: #A5D6FF } /* Literal.String.Char */\n.highlight .dl { color: #79C0FF } /* Literal.String.Delimiter */\n.highlight .sd { color: #A5D6FF } /* Literal.String.Doc */\n.highlight .s2 { color: #A5D6FF } /* Literal.String.Double */\n.highlight .se { color: #79C0FF } /* Literal.String.Escape */\n.highlight .sh { color: #79C0FF } /* Literal.String.Heredoc */\n.highlight .si { color: #A5D6FF } /* Literal.String.Interpol */\n.highlight .sx { color: #A5D6FF } /* Literal.String.Other */\n.highlight .sr { color: #79C0FF } /* Literal.String.Regex */\n.highlight .s1 { color: #A5D6FF } /* Literal.String.Single */\n.highlight .ss { color: #A5D6FF } /* Literal.String.Symbol */\n.highlight .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */\n.highlight .vc { color: #79C0FF } /* Name.Variable.Class */\n.highlight .vg { color: #79C0FF } /* Name.Variable.Global */\n.highlight .vi { color: #79C0FF } /* Name.Variable.Instance */\n.highlight .vm { color: #79C0FF } /* Name.Variable.Magic */\n.highlight .il { color: #A5D6FF } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","$color-scheme: dark;\n$body-background-color: $grey-dk-300;\n$body-heading-color: $grey-lt-000;\n$body-text-color: $grey-lt-300;\n$link-color: lighten($blue-000, 10%);\n$nav-child-link-color: $grey-dk-000;\n$sidebar-color: $grey-dk-300;\n$base-button-color: $grey-dk-250;\n$btn-primary-color: $blue-200;\n$code-background-color: #0d1117; // github-dark bg color\n$code-linenumber-color: #e6edf3; // github-dark line number color\n$feedback-color: darken($sidebar-color, 3%);\n$table-background-color: $grey-dk-250;\n$search-background-color: $grey-dk-250;\n$search-result-preview-color: $grey-lt-300;\n$border-color: $grey-dk-200;\n\n@import \"./vendor/accessible-pygments/github-dark\";\n","@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline: 2px solid $link-color;\n outline-offset: -2px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./color_schemes/dark\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.tip, blockquote.tip {\n border: 1px $green-300 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-300 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.note, blockquote.note {\n border: 1px $blue-300 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-300 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $yellow-300 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $yellow-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $yellow-300 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-dark.css"} \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-default.css b/v2.8.0/assets/css/just-the-docs-default.css deleted file mode 100644 index 0652c198ea..0000000000 --- a/v2.8.0/assets/css/just-the-docs-default.css +++ /dev/null @@ -1,7504 +0,0 @@ -@charset "UTF-8"; -/* -generated by accessible-pygments -Copyright (c) 2022, Quansight Labs -Licensed under the BSD license, see LICENSE for details. --- -generated by Pygments -Copyright 2006-2025 by the Pygments team. -Licensed under the BSD license, see LICENSE for details. -*/ -.highlight .hll { - background-color: rgba(9, 105, 218, 0.2901960784); -} - -.highlight .c { - color: #6E7781; -} /* Comment */ -.highlight .err { - color: #CF222E; -} /* Error */ -.highlight .k { - color: #CF222E; -} /* Keyword */ -.highlight .l { - color: #953800; -} /* Literal */ -.highlight .n { - color: #8250DF; -} /* Name */ -.highlight .o { - color: #116329; -} /* Operator */ -.highlight .p { - color: #24292F; -} /* Punctuation */ -.highlight .ch { - color: #6E7781; -} /* Comment.Hashbang */ -.highlight .cm { - color: #6E7781; -} /* Comment.Multiline */ -.highlight .cp { - color: #6E7781; -} /* Comment.Preproc */ -.highlight .cpf { - color: #6E7781; -} /* Comment.PreprocFile */ -.highlight .c1 { - color: #6E7781; -} /* Comment.Single */ -.highlight .cs { - color: #6E7781; -} /* Comment.Special */ -.highlight .gd { - color: #0550AE; -} /* Generic.Deleted */ -.highlight .ge { - font-style: italic; -} /* Generic.Emph */ -.highlight .gr { - color: #CF222E; -} /* Generic.Error */ -.highlight .gh { - color: #0550AE; -} /* Generic.Heading */ -.highlight .gs { - font-weight: bold; -} /* Generic.Strong */ -.highlight .gu { - color: #0550AE; -} /* Generic.Subheading */ -.highlight .kc { - color: #0550AE; -} /* Keyword.Constant */ -.highlight .kd { - color: #CF222E; -} /* Keyword.Declaration */ -.highlight .kn { - color: #CF222E; -} /* Keyword.Namespace */ -.highlight .kp { - color: #CF222E; -} /* Keyword.Pseudo */ -.highlight .kr { - color: #CF222E; -} /* Keyword.Reserved */ -.highlight .kt { - color: #CF222E; -} /* Keyword.Type */ -.highlight .ld { - color: #953800; -} /* Literal.Date */ -.highlight .m { - color: #953800; -} /* Literal.Number */ -.highlight .s { - color: #0550AE; -} /* Literal.String */ -.highlight .na { - color: #953800; -} /* Name.Attribute */ -.highlight .nb { - color: #953800; -} /* Name.Builtin */ -.highlight .nc { - color: #0550AE; -} /* Name.Class */ -.highlight .no { - color: #0550AE; -} /* Name.Constant */ -.highlight .nd { - color: #953800; -} /* Name.Decorator */ -.highlight .ni { - color: #116329; -} /* Name.Entity */ -.highlight .ne { - color: #8250DF; -} /* Name.Exception */ -.highlight .nf { - color: #0550AE; -} /* Name.Function */ -.highlight .nl { - color: #953800; -} /* Name.Label */ -.highlight .nn { - color: #24292F; -} /* Name.Namespace */ -.highlight .nx { - color: #8250DF; -} /* Name.Other */ -.highlight .py { - color: #0550AE; -} /* Name.Property */ -.highlight .nt { - color: #116329; -} /* Name.Tag */ -.highlight .nv { - color: #953800; -} /* Name.Variable */ -.highlight .ow { - color: #8250DF; -} /* Operator.Word */ -.highlight .pm { - color: #24292F; -} /* Punctuation.Marker */ -.highlight .w { - color: #24292F; -} /* Text.Whitespace */ -.highlight .mb { - color: #953800; -} /* Literal.Number.Bin */ -.highlight .mf { - color: #953800; -} /* Literal.Number.Float */ -.highlight .mh { - color: #953800; -} /* Literal.Number.Hex */ -.highlight .mi { - color: #953800; -} /* Literal.Number.Integer */ -.highlight .mo { - color: #953800; -} /* Literal.Number.Oct */ -.highlight .sa { - color: #0550AE; -} /* Literal.String.Affix */ -.highlight .sb { - color: #0550AE; -} /* Literal.String.Backtick */ -.highlight .sc { - color: #0550AE; -} /* Literal.String.Char */ -.highlight .dl { - color: #0550AE; -} /* Literal.String.Delimiter */ -.highlight .sd { - color: #0550AE; -} /* Literal.String.Doc */ -.highlight .s2 { - color: #0550AE; -} /* Literal.String.Double */ -.highlight .se { - color: #0550AE; -} /* Literal.String.Escape */ -.highlight .sh { - color: #0550AE; -} /* Literal.String.Heredoc */ -.highlight .si { - color: #0550AE; -} /* Literal.String.Interpol */ -.highlight .sx { - color: #0550AE; -} /* Literal.String.Other */ -.highlight .sr { - color: #0550AE; -} /* Literal.String.Regex */ -.highlight .s1 { - color: #0550AE; -} /* Literal.String.Single */ -.highlight .ss { - color: #0550AE; -} /* Literal.String.Symbol */ -.highlight .bp { - color: #953800; -} /* Name.Builtin.Pseudo */ -.highlight .fm { - color: #0550AE; -} /* Name.Function.Magic */ -.highlight .vc { - color: #953800; -} /* Name.Variable.Class */ -.highlight .vg { - color: #953800; -} /* Name.Variable.Global */ -.highlight .vi { - color: #953800; -} /* Name.Variable.Instance */ -.highlight .vm { - color: #953800; -} /* Name.Variable.Magic */ -.highlight .il { - color: #953800; -} /* Literal.Number.Integer.Long */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* Document - ========================================================================== */ -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ -html { - line-height: 1.15; /* 1 */ - text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers. - */ -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ -/** - * Remove the gray background on active links in IE 10. - */ -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ -/** - * Remove the border on images inside links in IE 10. - */ -img { - border-style: none; -} - -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ -button, -input { - /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ -button, -[type=button], -[type=reset], -[type=submit] { - appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ -[type=checkbox], -[type=radio] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type=search] { - appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-decoration { - appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ -/** - * Add the correct display in IE 10+. - */ -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ -[hidden] { - display: none; -} - -:root { - color-scheme: light; -} - -* { - box-sizing: border-box; -} - -html { - scroll-behavior: smooth; -} -html { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - html { - font-size: 1rem !important; - } -} - -body { - font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; - font-size: inherit; - line-height: 1.4; - color: #2C2D3C; - background-color: #F5F6FA; - overflow-wrap: break-word; -} - -ol, -ul, -dl, -pre, -address, -blockquote, -table, -div, -hr, -form, -fieldset, -noscript .table-wrapper { - margin-top: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6, -#toctitle { - margin-top: 0; - margin-bottom: 1em; - font-weight: 500; - line-height: 1.25; - color: #2C2D3C; -} - -p { - margin-top: 1em; - margin-bottom: 1em; -} - -a { - color: #2D8F52; - text-decoration: none; -} - -a:not([class]) { - text-decoration: underline; - text-decoration-color: #D5D6E0; - text-underline-offset: 2px; -} -a:not([class]):hover { - text-decoration-color: rgba(45, 143, 82, 0.45); -} - -code { - font-family: "SFMono-Regular", menlo, consolas, monospace; - font-size: 0.75em; - line-height: 1.4; -} - -figure, -pre { - margin: 0; -} - -li { - margin: 0.25em 0; -} - -img { - max-width: 100%; - height: auto; -} - -hr { - height: 1px; - padding: 0; - margin: 2rem 0; - background-color: #D5D6E0; - border: 0; -} - -blockquote { - margin: 10px 0; - margin-block-start: 0; - margin-inline-start: 0; - padding-left: 1rem; - border-left: 3px solid #D5D6E0; -} - -.side-bar { - z-index: 0; - display: flex; - flex-wrap: wrap; - background-color: #ECEDF3; -} -@media (min-width: 50rem) { - .side-bar { - flex-flow: column nowrap; - position: fixed; - width: 15.5rem; - height: 100%; - border-right: 1px solid #D5D6E0; - align-items: flex-end; - } -} -@media (min-width: 66.5rem) { - .side-bar { - width: calc((100% - 66.5rem) / 2 + 16.5rem); - min-width: 16.5rem; - } -} -@media (min-width: 50rem) { - .side-bar + .main { - margin-left: 15.5rem; - } -} -@media (min-width: 66.5rem) { - .side-bar + .main { - margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); - } -} -.side-bar + .main .main-header { - display: none; - background-color: #ECEDF3; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header { - display: flex; - background-color: #F5F6FA; - } -} -.side-bar + .main .main-header.nav-open { - display: block; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header.nav-open { - display: flex; - } -} - -.main { - margin: auto; -} -@media (min-width: 50rem) { - .main { - position: relative; - max-width: 50rem; - } -} - -.main-content-wrap { - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-right: 2rem; - padding-left: 2rem; - } -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-top: 2rem; - padding-bottom: 2rem; - } -} - -.main-header { - z-index: 0; - border-bottom: 1px solid #D5D6E0; -} -@media (min-width: 50rem) { - .main-header { - display: flex; - justify-content: space-between; - height: 3.75rem; - } -} - -.site-nav, -.site-header, -.site-footer { - width: 100%; -} -@media (min-width: 66.5rem) { - .site-nav, - .site-header, - .site-footer { - width: 16.5rem; - } -} - -.site-nav { - display: none; -} -.site-nav.nav-open { - display: block; -} -@media (min-width: 50rem) { - .site-nav { - display: block; - padding-top: 3rem; - padding-bottom: 1rem; - overflow-y: auto; - flex: 1 1 auto; - } -} - -.site-header { - display: flex; - min-height: 3.75rem; - align-items: center; -} -@media (min-width: 50rem) { - .site-header { - height: 3.75rem; - max-height: 3.75rem; - border-bottom: 1px solid #D5D6E0; - } -} - -.site-title { - flex-grow: 1; - display: flex; - height: 100%; - align-items: center; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #2C2D3C; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-title { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-title { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .site-title { - font-size: 1.5rem !important; - line-height: 1.25; - } -} -@media (min-width: 50rem) { - .site-title { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} - -.site-button { - display: flex; - height: 100%; - padding: 1rem; - align-items: center; -} - -@media (min-width: 50rem) { - .site-header .site-button { - display: none; - } -} -.site-title:hover { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 80%, rgba(224, 225, 235, 0) 100%); -} - -.site-button:hover { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 100%); -} - -.site-footer { - position: absolute; - bottom: 0; - left: 0; - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-footer { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-footer { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .site-footer { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .site-footer { - position: static; - justify-self: end; - } -} - -.icon { - width: 1.5rem; - height: 1.5rem; - color: #2D8F52; -} - -.main-content { - line-height: 1.6; -} -.main-content ol, -.main-content ul, -.main-content dl, -.main-content pre, -.main-content address, -.main-content blockquote, -.main-content .table-wrapper { - margin-top: 0.5em; -} -.main-content a { - overflow: hidden; - text-overflow: ellipsis; -} -.main-content ul, -.main-content ol { - padding-left: 1.5em; -} -.main-content li .highlight { - margin-top: 0.25rem; -} -.main-content ol { - list-style-type: none; - counter-reset: step-counter; -} -.main-content ol > li { - position: relative; -} -.main-content ol > li::before { - position: absolute; - top: 0.2em; - left: -1.6em; - color: #959396; - content: counter(step-counter); - counter-increment: step-counter; -} -.main-content ol > li::before { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - font-size: 0.875rem !important; - } -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - top: 0.11em; - } -} -.main-content ol > li ol { - counter-reset: sub-counter; -} -.main-content ol > li ol > li::before { - content: counter(sub-counter, lower-alpha); - counter-increment: sub-counter; -} -.main-content ul { - list-style: none; -} -.main-content ul > li::before { - position: absolute; - margin-left: -1.4em; - color: #959396; - content: "•"; -} -.main-content .task-list-item::before { - content: ""; -} -.main-content .task-list-item-checkbox { - margin-right: 0.6em; - margin-left: -1.4em; -} -.main-content hr + * { - margin-top: 0; -} -.main-content h1:first-of-type { - margin-top: 0.5em; -} -.main-content dl { - display: grid; - grid-template: auto/10em 1fr; -} -.main-content dt, -.main-content dd { - margin: 0.25em 0; -} -.main-content dt { - grid-column: 1; - font-weight: 500; - text-align: right; -} -.main-content dt::after { - content: ":"; -} -.main-content dd { - grid-column: 2; - margin-bottom: 0; - margin-left: 1em; -} -.main-content dd blockquote:first-child, -.main-content dd div:first-child, -.main-content dd dl:first-child, -.main-content dd dt:first-child, -.main-content dd h1:first-child, -.main-content dd h2:first-child, -.main-content dd h3:first-child, -.main-content dd h4:first-child, -.main-content dd h5:first-child, -.main-content dd h6:first-child, -.main-content dd li:first-child, -.main-content dd ol:first-child, -.main-content dd p:first-child, -.main-content dd pre:first-child, -.main-content dd table:first-child, -.main-content dd ul:first-child, -.main-content dd .table-wrapper:first-child { - margin-top: 0; -} -.main-content dd dl:first-child dt:first-child, -.main-content dd dl:first-child dd:nth-child(2), -.main-content ol dl:first-child dt:first-child, -.main-content ol dl:first-child dd:nth-child(2), -.main-content ul dl:first-child dt:first-child, -.main-content ul dl:first-child dd:nth-child(2) { - margin-top: 0; -} -.main-content .anchor-heading { - position: absolute; - right: -1rem; - width: 1.5rem; - height: 100%; - padding-right: 0.25rem; - padding-left: 0.25rem; - overflow: visible; -} -@media (min-width: 50rem) { - .main-content .anchor-heading { - right: auto; - left: -1.5rem; - } -} -.main-content .anchor-heading svg { - display: inline-block; - width: 100%; - height: 100%; - color: #2D8F52; - visibility: hidden; -} -.main-content .anchor-heading:hover svg, -.main-content .anchor-heading:focus svg, -.main-content h1:hover > .anchor-heading svg, -.main-content h2:hover > .anchor-heading svg, -.main-content h3:hover > .anchor-heading svg, -.main-content h4:hover > .anchor-heading svg, -.main-content h5:hover > .anchor-heading svg, -.main-content h6:hover > .anchor-heading svg { - visibility: visible; -} -.main-content summary { - cursor: pointer; -} -.main-content h1, -.main-content h2, -.main-content h3, -.main-content h4, -.main-content h5, -.main-content h6, -.main-content #toctitle { - position: relative; - margin-top: 1.5em; - margin-bottom: 0.25em; -} -.main-content h1 + table, -.main-content h1 + .table-wrapper, -.main-content h1 + .code-example, -.main-content h1 + .highlighter-rouge, -.main-content h1 + .sectionbody .listingblock, -.main-content h2 + table, -.main-content h2 + .table-wrapper, -.main-content h2 + .code-example, -.main-content h2 + .highlighter-rouge, -.main-content h2 + .sectionbody .listingblock, -.main-content h3 + table, -.main-content h3 + .table-wrapper, -.main-content h3 + .code-example, -.main-content h3 + .highlighter-rouge, -.main-content h3 + .sectionbody .listingblock, -.main-content h4 + table, -.main-content h4 + .table-wrapper, -.main-content h4 + .code-example, -.main-content h4 + .highlighter-rouge, -.main-content h4 + .sectionbody .listingblock, -.main-content h5 + table, -.main-content h5 + .table-wrapper, -.main-content h5 + .code-example, -.main-content h5 + .highlighter-rouge, -.main-content h5 + .sectionbody .listingblock, -.main-content h6 + table, -.main-content h6 + .table-wrapper, -.main-content h6 + .code-example, -.main-content h6 + .highlighter-rouge, -.main-content h6 + .sectionbody .listingblock, -.main-content #toctitle + table, -.main-content #toctitle + .table-wrapper, -.main-content #toctitle + .code-example, -.main-content #toctitle + .highlighter-rouge, -.main-content #toctitle + .sectionbody .listingblock { - margin-top: 1em; -} -.main-content h1 + p:not(.label), -.main-content h2 + p:not(.label), -.main-content h3 + p:not(.label), -.main-content h4 + p:not(.label), -.main-content h5 + p:not(.label), -.main-content h6 + p:not(.label), -.main-content #toctitle + p:not(.label) { - margin-top: 0; -} -.main-content > h1:first-child, -.main-content > h2:first-child, -.main-content > h3:first-child, -.main-content > h4:first-child, -.main-content > h5:first-child, -.main-content > h6:first-child, -.main-content > .sect1:first-child > h2, -.main-content > .sect2:first-child > h3, -.main-content > .sect3:first-child > h4, -.main-content > .sect4:first-child > h5, -.main-content > .sect5:first-child > h6 { - margin-top: 0.5rem; -} - -.nav-list { - padding: 0; - margin-top: 0; - margin-bottom: 0; - list-style: none; -} -.nav-list .nav-list-item { - position: relative; - margin: 0; -} -.nav-list .nav-list-item { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .nav-list .nav-list-item { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 0.875rem !important; - } -} -.nav-list .nav-list-item .nav-list-link { - display: block; - min-height: 3rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - line-height: 2.5rem; - padding-right: 3rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-link { - min-height: 2rem; - line-height: 1.5rem; - padding-right: 2rem; - padding-left: 2rem; - } -} -.nav-list .nav-list-item .nav-list-link.external > svg { - width: 1rem; - height: 1rem; - vertical-align: text-bottom; -} -.nav-list .nav-list-item .nav-list-link.active { - font-weight: 600; - text-decoration: none; -} -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { - color: rgb(15.2534418023%, 48.4720483938%, 27.7951606174%); - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 80%, rgba(224, 225, 235, 0) 100%); -} -.nav-list .nav-list-item .nav-list-expander { - position: absolute; - right: 0; - width: 3rem; - height: 3rem; - padding: 0.75rem; - color: #2D8F52; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-expander { - width: 2rem; - height: 2rem; - padding: 0.5rem; - } -} -.nav-list .nav-list-item .nav-list-expander:hover { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 100%); -} -.nav-list .nav-list-item .nav-list-expander svg { - transform: rotate(90deg); -} -.nav-list .nav-list-item > .nav-list { - display: none; - padding-left: 0.75rem; - list-style: none; -} -.nav-list .nav-list-item > .nav-list .nav-list-item { - position: relative; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { - color: #555668; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { - color: #555668; -} -.nav-list .nav-list-item.active > .nav-list-expander svg { - transform: rotate(-90deg); -} -.nav-list .nav-list-item.active > .nav-list { - display: block; -} - -.nav-category { - padding: 0.5rem 1rem; - font-weight: 600; - text-align: start; - text-transform: uppercase; - border-bottom: 1px solid #D5D6E0; -} -.nav-category { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .nav-category { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .nav-category { - padding: 0.5rem 2rem; - margin-top: 1rem; - text-align: start; - } - .nav-category:first-child { - margin-top: 0; - } -} - -.nav-list.nav-category-list > .nav-list-item { - margin: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list { - padding: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { - color: #2D8F52; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { - color: #2D8F52; -} - -.aux-nav { - height: 100%; - overflow-x: auto; -} -.aux-nav { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .aux-nav { - font-size: 0.75rem !important; - } -} -.aux-nav .aux-nav-list { - display: flex; - height: 100%; - padding: 0; - margin: 0; - list-style: none; -} -.aux-nav .aux-nav-list-item { - display: inline-block; - height: 100%; - padding: 0; - margin: 0; -} -@media (min-width: 50rem) { - .aux-nav { - padding-right: 1rem; - } -} - -@media (min-width: 50rem) { - .breadcrumb-nav { - margin-top: -1rem; - } -} - -.breadcrumb-nav-list { - padding-left: 0; - margin-bottom: 0.75rem; - list-style: none; -} - -.breadcrumb-nav-list-item { - display: table-cell; -} -.breadcrumb-nav-list-item { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .breadcrumb-nav-list-item { - font-size: 0.75rem !important; - } -} -.breadcrumb-nav-list-item::before { - display: none; -} -.breadcrumb-nav-list-item::after { - display: inline-block; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #959396; - content: "/"; -} -.breadcrumb-nav-list-item:last-child::after { - content: ""; -} - -h1, -.text-alpha { - font-weight: 300; -} -h1, -.text-alpha { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - h1, - .text-alpha { - font-size: 2.25rem !important; - } -} - -h2, -.text-beta, -#toctitle { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - h2, - .text-beta, - #toctitle { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -h3, -.text-gamma { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - h3, - .text-gamma { - font-size: 1.125rem !important; - } -} - -h4, -.text-delta { - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0.1em; -} -h4, -.text-delta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h4, - .text-delta { - font-size: 0.75rem !important; - } -} - -h4 code { - text-transform: none; -} - -h5, -.text-epsilon { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - h5, - .text-epsilon { - font-size: 0.875rem !important; - } -} - -h6, -.text-zeta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h6, - .text-zeta { - font-size: 0.75rem !important; - } -} - -.text-small { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .text-small { - font-size: 0.75rem !important; - } -} - -.text-mono { - font-family: "SFMono-Regular", menlo, consolas, monospace !important; -} - -.text-left { - text-align: left !important; -} - -.text-center { - text-align: center !important; -} - -.text-right { - text-align: right !important; -} - -.label:not(g), -.label-blue:not(g) { - display: inline-block; - padding: 0.16em 0.56em; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #fff; - text-transform: uppercase; - vertical-align: middle; - background-color: #2869e6; - border-radius: 12px; -} -.label:not(g), -.label-blue:not(g) { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .label:not(g), - .label-blue:not(g) { - font-size: 0.75rem !important; - } -} - -.label-green:not(g) { - background-color: #026e57; -} - -.label-purple:not(g) { - background-color: #5e41d0; -} - -.label-red:not(g) { - background-color: #dd2e2e; -} - -.label-yellow:not(g) { - color: #44434d; - background-color: #f7d12e; -} - -.btn { - display: inline-block; - box-sizing: border-box; - padding: 0.3em 1em; - margin: 0; - font-family: inherit; - font-size: inherit; - font-weight: 500; - line-height: 1.5; - color: #2D8F52; - text-decoration: none; - vertical-align: baseline; - cursor: pointer; - background-color: #f7f7f7; - border-width: 0; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - appearance: none; -} -.btn:focus { - text-decoration: none; - outline: none; - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:focus:hover, .btn.selected:focus { - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:hover, .btn.zeroclipboard-is-hover { - color: rgb(16.689612015%, 53.0358781811%, 30.412181894%); -} -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { - text-decoration: none; - background-color: rgb(95.862745098%, 95.862745098%, 95.862745098%); -} -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { - background-color: rgb(93.862745098%, 93.862745098%, 93.862745098%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn.selected:hover { - background-color: rgb(81.2745098039%, 81.2745098039%, 81.2745098039%); -} -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { - color: rgba(102, 102, 102, 0.5); - cursor: default; - background-color: rgba(229, 229, 229, 0.5); - background-image: none; - box-shadow: none; -} - -.btn-outline { - color: #2D8F52; - background: transparent; - box-shadow: inset 0 0 0 2px #e6e1e8; -} -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { - color: rgb(15.7321652065%, 49.9933249896%, 28.667501043%); - text-decoration: none; - background-color: transparent; - box-shadow: inset 0 0 0 3px #e6e1e8; -} -.btn-outline:focus { - text-decoration: none; - outline: none; - box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn-outline:focus:hover, .btn-outline.selected:focus { - box-shadow: inset 0 0 0 2px #5c5962; -} - -.btn-primary { - color: #fff; - background-color: rgb(16.689612015%, 53.0358781811%, 30.412181894%); - background-image: linear-gradient(rgb(20.0406758448%, 63.6848143513%, 36.5185648728%), rgb(16.689612015%, 53.0358781811%, 30.412181894%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(15.7321652065%, 49.9933249896%, 28.667501043%); - background-image: linear-gradient(rgb(18.604505632%, 59.120984564%, 33.9015435962%), rgb(15.7321652065%, 49.9933249896%, 28.667501043%)); -} -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { - background-color: rgb(15.2534418023%, 48.4720483938%, 27.7951606174%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-primary.selected:hover { - background-color: rgb(12.859824781%, 40.8656654151%, 23.4334584898%); -} - -.btn-purple { - color: #fff; - background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%); - background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%); - background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%)); -} -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { - background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-purple.selected:hover { - background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%); -} - -.btn-blue { - color: #fff; - background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%); - background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%); - background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%)); -} -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { - background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-blue.selected:hover { - background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%); -} - -.btn-green { - color: #fff; - background-color: rgb(0.7128851541%, 39.2086834734%, 31.0105042017%); - background-image: linear-gradient(rgb(0.9628851541%, 52.9586834734%, 41.8855042017%), rgb(0.7128851541%, 39.2086834734%, 31.0105042017%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-green:hover, .btn-green.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(0.6414565826%, 35.2801120448%, 27.9033613445%); - background-image: linear-gradient(rgb(0.8557422969%, 47.0658263305%, 37.224789916%), rgb(0.6414565826%, 35.2801120448%, 27.9033613445%)); -} -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { - background-color: rgb(0.6057422969%, 33.3158263305%, 26.349789916%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-green.selected:hover { - background-color: rgb(0.4271708683%, 23.4943977591%, 18.5819327731%); -} - -.btn-reset { - background: none; - border: none; - margin: 0; - text-align: inherit; - font: inherit; - border-radius: 0; - appearance: none; -} - -.search { - position: relative; - z-index: 2; - flex-grow: 1; - height: 4rem; - padding: 0.5rem; - transition: padding linear 200ms; -} -@media (min-width: 50rem) { - .search { - position: relative !important; - width: auto !important; - height: 100% !important; - padding: 0; - transition: none; - } -} - -.search-input-wrap { - position: relative; - z-index: 1; - height: 3rem; - overflow: hidden; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - transition: height linear 200ms; -} -@media (min-width: 50rem) { - .search-input-wrap { - position: absolute; - width: 100%; - max-width: 33.5rem; - height: 100% !important; - border-radius: 0; - box-shadow: none; - transition: width ease 400ms; - } -} - -.search-input { - position: absolute; - width: 100%; - height: 100%; - padding: 0.5rem 1rem 0.5rem 2.5rem; - font-size: 1rem; - color: #2C2D3C; - background-color: #FFFFFF; - border-top: 0; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-input { - padding: 0.5rem 1rem 0.5rem 3.5rem; - font-size: 0.875rem; - background-color: #F5F6FA; - transition: padding-left linear 200ms; - } -} -.search-input:focus { - outline: 2px solid #2D8F52; - outline-offset: -2px; -} -.search-input:focus + .search-label .search-icon { - color: #2D8F52; -} - -.search-label { - position: absolute; - display: flex; - height: 100%; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .search-label { - padding-left: 2rem; - transition: padding-left linear 200ms; - } -} -.search-label .search-icon { - width: 1.2rem; - height: 1.2rem; - align-self: center; - color: #959396; -} - -.search-results { - position: absolute; - left: 0; - display: none; - width: 100%; - max-height: calc(100% - 4rem); - overflow-y: auto; - background-color: #FFFFFF; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} -@media (min-width: 50rem) { - .search-results { - top: 100%; - width: 33.5rem; - max-height: calc(100vh - 200%) !important; - } -} - -.search-results-list { - padding-left: 0; - margin-bottom: 0.25rem; - list-style: none; -} -.search-results-list { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .search-results-list { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .search-results-list { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-results-list { - font-size: 0.875rem !important; - } -} - -.search-results-list-item { - padding: 0; - margin: 0; -} - -.search-result { - display: block; - padding: 0.25rem 0.75rem; -} -.search-result:hover, .search-result.active { - background-color: #E0E1EB; -} - -.search-result-title { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -@media (min-width: 31.25rem) { - .search-result-title { - display: inline-block; - width: 40%; - padding-right: 0.5rem; - vertical-align: top; - } -} - -.search-result-doc { - display: flex; - align-items: center; - word-wrap: break-word; -} -.search-result-doc.search-result-doc-parent { - opacity: 0.5; -} -.search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.875rem !important; - } -} -@media (min-width: 50rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.6875rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; - } -} -.search-result-doc .search-result-icon { - width: 1rem; - height: 1rem; - margin-right: 0.5rem; - color: #2D8F52; - flex-shrink: 0; -} -.search-result-doc .search-result-doc-title { - overflow: auto; -} - -.search-result-section { - margin-left: 1.5rem; - word-wrap: break-word; -} - -.search-result-rel-url { - display: block; - margin-left: 1.5rem; - overflow: hidden; - color: #555668; - text-overflow: ellipsis; - white-space: nowrap; -} -.search-result-rel-url { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .search-result-rel-url { - font-size: 0.625rem !important; - } -} - -.search-result-previews { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - margin-left: 0.5rem; - color: #555668; - word-wrap: break-word; - border-left: 1px solid; - border-left-color: #D5D6E0; -} -.search-result-previews { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .search-result-previews { - font-size: 0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .search-result-previews { - display: inline-block; - width: 60%; - padding-left: 0.5rem; - margin-left: 0; - vertical-align: top; - } -} - -.search-result-preview + .search-result-preview { - margin-top: 0.25rem; -} - -.search-result-highlight { - font-weight: bold; -} - -.search-no-result { - padding: 0.5rem 0.75rem; -} -.search-no-result { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-no-result { - font-size: 0.875rem !important; - } -} - -.search-button { - position: fixed; - right: 1rem; - bottom: 1rem; - display: flex; - width: 3.5rem; - height: 3.5rem; - background-color: #FFFFFF; - border: 1px solid rgba(45, 143, 82, 0.3); - border-radius: 1.75rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - align-items: center; - justify-content: center; -} - -.search-overlay { - position: fixed; - top: 0; - left: 0; - z-index: 1; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.3); - opacity: 0; - transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; -} - -.search-active .search { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; -} -.search-active .search-input-wrap { - height: 4rem; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-active .search-input-wrap { - width: 33.5rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - } -} -.search-active .search-input { - background-color: #FFFFFF; -} -@media (min-width: 50rem) { - .search-active .search-input { - padding-left: 2.3rem; - } -} -@media (min-width: 50rem) { - .search-active .search-label { - padding-left: 0.6rem; - } -} -.search-active .search-results { - display: block; -} -.search-active .search-overlay { - width: 100%; - height: 100%; - opacity: 1; - transition: opacity ease 400ms, width 0s, height 0s; -} -@media (min-width: 50rem) { - .search-active .main { - position: fixed; - right: 0; - left: 0; - } -} -.search-active .main-header { - padding-top: 4rem; -} -@media (min-width: 50rem) { - .search-active .main-header { - padding-top: 0; - } -} - -.table-wrapper { - display: block; - width: 100%; - max-width: 100%; - margin-bottom: 1.5rem; - overflow-x: auto; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} - -table { - display: table; - min-width: 100%; - border-collapse: separate; -} - -th, -td { - min-width: 7.5rem; - padding: 0.5rem 0.75rem; - background-color: #F5F6FA; - border-bottom: 1px solid rgba(213, 214, 224, 0.5); - border-left: 1px solid #D5D6E0; -} -th, -td { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - th, - td { - font-size: 0.875rem !important; - } -} -th:first-of-type, -td:first-of-type { - border-left: 0; -} - -tbody tr:last-of-type th, -tbody tr:last-of-type td { - border-bottom: 0; -} -tbody tr:last-of-type td { - padding-bottom: 0.75rem; -} - -thead th { - border-bottom: 1px solid #D5D6E0; -} - -:not(pre, figure) > code { - padding: 0.2em 0.15em; - font-weight: 400; - background-color: #ECEDF3; - border: 1px solid #D5D6E0; - border-radius: 4px; -} - -a:visited code { - border-color: #D5D6E0; -} - -div.highlighter-rouge, -div.listingblock > div.content, -figure.highlight { - margin-top: 0; - margin-bottom: 0.75rem; - background-color: #ECEDF3; - border-radius: 4px; - box-shadow: none; - -webkit-overflow-scrolling: touch; - position: relative; - padding: 0; -} -div.highlighter-rouge > button, -div.listingblock > div.content > button, -figure.highlight > button { - width: 0.75rem; - opacity: 0; - position: absolute; - top: 0; - right: 0; - padding: 0.75rem; - border: none; - background: none; - color: #2C2D3C; - box-sizing: content-box; -} -div.highlighter-rouge > button svg, -div.listingblock > div.content > button svg, -figure.highlight > button svg { - fill: #2C2D3C; -} -div.highlighter-rouge > button:active, -div.listingblock > div.content > button:active, -figure.highlight > button:active { - text-decoration: none; - outline: none; - opacity: 1; -} -div.highlighter-rouge > button:focus, -div.listingblock > div.content > button:focus, -figure.highlight > button:focus { - opacity: 1; - outline: 2px solid #2D8F52; -} -div.highlighter-rouge:hover > button, -div.listingblock > div.content:hover > button, -figure.highlight:hover > button { - cursor: copy; - opacity: 1; -} - -div.highlighter-rouge div.highlight { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #2C2D3C; - border-radius: 4px; -} -div.highlighter-rouge pre.highlight, -div.highlighter-rouge code { - padding: 0; - margin: 0; - border: 0; -} - -div.listingblock { - margin-top: 0; - margin-bottom: 0.75rem; -} -div.listingblock div.content { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #2C2D3C; - border-radius: 4px; -} -div.listingblock div.content > pre, -div.listingblock code { - padding: 0; - margin: 0; - border: 0; -} - -figure.highlight pre, -figure.highlight :not(pre) > code { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #2C2D3C; - border-radius: 4px; -} - -.highlight .table-wrapper { - padding: 0.75rem 0; - margin: 0; - border: 0; - box-shadow: none; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - min-width: 0; - padding: 0; - background-color: #ECEDF3; - border: 0; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .highlight .table-wrapper td, - .highlight .table-wrapper pre { - font-size: 0.75rem !important; - } -} -.highlight .table-wrapper td.gl { - width: 1em; - padding-right: 0.75rem; - padding-left: 0.75rem; -} -.highlight .table-wrapper pre { - margin: 0; - line-height: 2; -} - -.code-example, -.listingblock > .title { - padding: 0.75rem; - margin-bottom: 0.75rem; - overflow: auto; - border: 1px solid #D5D6E0; - border-radius: 4px; -} -.code-example + .highlighter-rouge, -.code-example + .sectionbody .listingblock, -.code-example + .content, -.code-example + figure.highlight, -.listingblock > .title + .highlighter-rouge, -.listingblock > .title + .sectionbody .listingblock, -.listingblock > .title + .content, -.listingblock > .title + figure.highlight { - position: relative; - margin-top: -1rem; - border-right: 1px solid #D5D6E0; - border-bottom: 1px solid #D5D6E0; - border-left: 1px solid #D5D6E0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -code.language-mermaid { - padding: 0; - background-color: inherit; - border: 0; -} - -.highlight, -pre.highlight { - background: #ECEDF3; - color: #9496A6; -} - -.highlight pre { - background: #ECEDF3; -} - -.text-grey-dk-000 { - color: #959396 !important; -} - -.text-grey-dk-100 { - color: #5c5962 !important; -} - -.text-grey-dk-200 { - color: #44434d !important; -} - -.text-grey-dk-250 { - color: #302d36 !important; -} - -.text-grey-dk-300 { - color: #27262b !important; -} - -.text-grey-lt-000 { - color: #f5f6fa !important; -} - -.text-grey-lt-100 { - color: #eeebee !important; -} - -.text-grey-lt-200 { - color: #ecebed !important; -} - -.text-grey-lt-300 { - color: #e6e1e8 !important; -} - -.text-blue-000 { - color: #2c84fa !important; -} - -.text-blue-100 { - color: #2869e6 !important; -} - -.text-blue-200 { - color: #264caf !important; -} - -.text-blue-300 { - color: #183385 !important; -} - -.text-green-000 { - color: #41d693 !important; -} - -.text-green-100 { - color: #11b584 !important; -} - -.text-green-200 { - color: #009c7b !important; -} - -.text-green-300 { - color: #026e57 !important; -} - -.text-purple-000 { - color: #7253ed !important; -} - -.text-purple-100 { - color: #5e41d0 !important; -} - -.text-purple-200 { - color: #4e26af !important; -} - -.text-purple-300 { - color: #381885 !important; -} - -.text-yellow-000 { - color: #ffeb82 !important; -} - -.text-yellow-100 { - color: #fadf50 !important; -} - -.text-yellow-200 { - color: #f7d12e !important; -} - -.text-yellow-300 { - color: #e7af06 !important; -} - -.text-red-000 { - color: #f77e7e !important; -} - -.text-red-100 { - color: #f96e65 !important; -} - -.text-red-200 { - color: #e94c4c !important; -} - -.text-red-300 { - color: #dd2e2e !important; -} - -.bg-grey-dk-000 { - background-color: #959396 !important; -} - -.bg-grey-dk-100 { - background-color: #5c5962 !important; -} - -.bg-grey-dk-200 { - background-color: #44434d !important; -} - -.bg-grey-dk-250 { - background-color: #302d36 !important; -} - -.bg-grey-dk-300 { - background-color: #27262b !important; -} - -.bg-grey-lt-000 { - background-color: #f5f6fa !important; -} - -.bg-grey-lt-100 { - background-color: #eeebee !important; -} - -.bg-grey-lt-200 { - background-color: #ecebed !important; -} - -.bg-grey-lt-300 { - background-color: #e6e1e8 !important; -} - -.bg-blue-000 { - background-color: #2c84fa !important; -} - -.bg-blue-100 { - background-color: #2869e6 !important; -} - -.bg-blue-200 { - background-color: #264caf !important; -} - -.bg-blue-300 { - background-color: #183385 !important; -} - -.bg-green-000 { - background-color: #41d693 !important; -} - -.bg-green-100 { - background-color: #11b584 !important; -} - -.bg-green-200 { - background-color: #009c7b !important; -} - -.bg-green-300 { - background-color: #026e57 !important; -} - -.bg-purple-000 { - background-color: #7253ed !important; -} - -.bg-purple-100 { - background-color: #5e41d0 !important; -} - -.bg-purple-200 { - background-color: #4e26af !important; -} - -.bg-purple-300 { - background-color: #381885 !important; -} - -.bg-yellow-000 { - background-color: #ffeb82 !important; -} - -.bg-yellow-100 { - background-color: #fadf50 !important; -} - -.bg-yellow-200 { - background-color: #f7d12e !important; -} - -.bg-yellow-300 { - background-color: #e7af06 !important; -} - -.bg-red-000 { - background-color: #f77e7e !important; -} - -.bg-red-100 { - background-color: #f96e65 !important; -} - -.bg-red-200 { - background-color: #e94c4c !important; -} - -.bg-red-300 { - background-color: #dd2e2e !important; -} - -.d-block { - display: block !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-none { - display: none !important; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.flex-justify-start { - justify-content: flex-start !important; -} - -.flex-justify-end { - justify-content: flex-end !important; -} - -.flex-justify-between { - justify-content: space-between !important; -} - -.flex-justify-around { - justify-content: space-around !important; -} - -.v-align-baseline { - vertical-align: baseline !important; -} - -.v-align-bottom { - vertical-align: bottom !important; -} - -.v-align-middle { - vertical-align: middle !important; -} - -.v-align-text-bottom { - vertical-align: text-bottom !important; -} - -.v-align-text-top { - vertical-align: text-top !important; -} - -.v-align-top { - vertical-align: top !important; -} - -.fs-1 { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .fs-1 { - font-size: 0.625rem !important; - } -} - -.fs-2 { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .fs-2 { - font-size: 0.75rem !important; - } -} - -.fs-3 { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .fs-3 { - font-size: 0.875rem !important; - } -} - -.fs-4 { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .fs-4 { - font-size: 1rem !important; - } -} - -.fs-5 { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - .fs-5 { - font-size: 1.125rem !important; - } -} - -.fs-6 { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .fs-6 { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -.fs-7 { - font-size: 1.5rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-7 { - font-size: 2rem !important; - } -} - -.fs-8 { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-8 { - font-size: 2.25rem !important; - } -} - -.fs-9 { - font-size: 2.25rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-9 { - font-size: 2.625rem !important; - } -} - -.fs-10 { - font-size: 2.625rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-10 { - font-size: 3rem !important; - } -} - -.fw-300 { - font-weight: 300 !important; -} - -.fw-400 { - font-weight: 400 !important; -} - -.fw-500 { - font-weight: 500 !important; -} - -.fw-700 { - font-weight: 700 !important; -} - -.lh-0 { - line-height: 0 !important; -} - -.lh-default { - line-height: 1.4; -} - -.lh-tight { - line-height: 1.25; -} - -.ls-5 { - letter-spacing: 0.05em !important; -} - -.ls-10 { - letter-spacing: 0.1em !important; -} - -.ls-0 { - letter-spacing: 0 !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.list-style-none { - padding: 0 !important; - margin: 0 !important; - list-style: none !important; -} -.list-style-none li::before { - display: none !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.mxn-0 { - margin-right: -0 !important; - margin-left: -0 !important; -} - -.mx-0-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.mxn-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; -} - -.mx-1-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.mxn-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; -} - -.mx-2-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-3 { - margin: 0.75rem !important; -} - -.mt-3 { - margin-top: 0.75rem !important; -} - -.mr-3 { - margin-right: 0.75rem !important; -} - -.mb-3 { - margin-bottom: 0.75rem !important; -} - -.ml-3 { - margin-left: 0.75rem !important; -} - -.mx-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; -} - -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} - -.mxn-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; -} - -.mx-3-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-4 { - margin: 1rem !important; -} - -.mt-4 { - margin-top: 1rem !important; -} - -.mr-4 { - margin-right: 1rem !important; -} - -.mb-4 { - margin-bottom: 1rem !important; -} - -.ml-4 { - margin-left: 1rem !important; -} - -.mx-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.mxn-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; -} - -.mx-4-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-5 { - margin: 1.5rem !important; -} - -.mt-5 { - margin-top: 1.5rem !important; -} - -.mr-5 { - margin-right: 1.5rem !important; -} - -.mb-5 { - margin-bottom: 1.5rem !important; -} - -.ml-5 { - margin-left: 1.5rem !important; -} - -.mx-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.mxn-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; -} - -.mx-5-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-6 { - margin: 2rem !important; -} - -.mt-6 { - margin-top: 2rem !important; -} - -.mr-6 { - margin-right: 2rem !important; -} - -.mb-6 { - margin-bottom: 2rem !important; -} - -.ml-6 { - margin-left: 2rem !important; -} - -.mx-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; -} - -.my-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.mxn-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; -} - -.mx-6-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-7 { - margin: 2.5rem !important; -} - -.mt-7 { - margin-top: 2.5rem !important; -} - -.mr-7 { - margin-right: 2.5rem !important; -} - -.mb-7 { - margin-bottom: 2.5rem !important; -} - -.ml-7 { - margin-left: 2.5rem !important; -} - -.mx-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; -} - -.my-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; -} - -.mxn-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; -} - -.mx-7-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-8 { - margin: 3rem !important; -} - -.mt-8 { - margin-top: 3rem !important; -} - -.mr-8 { - margin-right: 3rem !important; -} - -.mb-8 { - margin-bottom: 3rem !important; -} - -.ml-8 { - margin-left: 3rem !important; -} - -.mx-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.mxn-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; -} - -.mx-8-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-9 { - margin: 3.5rem !important; -} - -.mt-9 { - margin-top: 3.5rem !important; -} - -.mr-9 { - margin-right: 3.5rem !important; -} - -.mb-9 { - margin-bottom: 3.5rem !important; -} - -.ml-9 { - margin-left: 3.5rem !important; -} - -.mx-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; -} - -.my-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; -} - -.mxn-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; -} - -.mx-9-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-10 { - margin: 4rem !important; -} - -.mt-10 { - margin-top: 4rem !important; -} - -.mr-10 { - margin-right: 4rem !important; -} - -.mb-10 { - margin-bottom: 4rem !important; -} - -.ml-10 { - margin-left: 4rem !important; -} - -.mx-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; -} - -.my-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.mxn-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; -} - -.mx-10-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -@media (min-width: 20rem) { - .m-xs-0 { - margin: 0 !important; - } - .mt-xs-0 { - margin-top: 0 !important; - } - .mr-xs-0 { - margin-right: 0 !important; - } - .mb-xs-0 { - margin-bottom: 0 !important; - } - .ml-xs-0 { - margin-left: 0 !important; - } - .mx-xs-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xs-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xs-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 20rem) { - .m-xs-1 { - margin: 0.25rem !important; - } - .mt-xs-1 { - margin-top: 0.25rem !important; - } - .mr-xs-1 { - margin-right: 0.25rem !important; - } - .mb-xs-1 { - margin-bottom: 0.25rem !important; - } - .ml-xs-1 { - margin-left: 0.25rem !important; - } - .mx-xs-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xs-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xs-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-2 { - margin: 0.5rem !important; - } - .mt-xs-2 { - margin-top: 0.5rem !important; - } - .mr-xs-2 { - margin-right: 0.5rem !important; - } - .mb-xs-2 { - margin-bottom: 0.5rem !important; - } - .ml-xs-2 { - margin-left: 0.5rem !important; - } - .mx-xs-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xs-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xs-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-3 { - margin: 0.75rem !important; - } - .mt-xs-3 { - margin-top: 0.75rem !important; - } - .mr-xs-3 { - margin-right: 0.75rem !important; - } - .mb-xs-3 { - margin-bottom: 0.75rem !important; - } - .ml-xs-3 { - margin-left: 0.75rem !important; - } - .mx-xs-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xs-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xs-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-4 { - margin: 1rem !important; - } - .mt-xs-4 { - margin-top: 1rem !important; - } - .mr-xs-4 { - margin-right: 1rem !important; - } - .mb-xs-4 { - margin-bottom: 1rem !important; - } - .ml-xs-4 { - margin-left: 1rem !important; - } - .mx-xs-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xs-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xs-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-5 { - margin: 1.5rem !important; - } - .mt-xs-5 { - margin-top: 1.5rem !important; - } - .mr-xs-5 { - margin-right: 1.5rem !important; - } - .mb-xs-5 { - margin-bottom: 1.5rem !important; - } - .ml-xs-5 { - margin-left: 1.5rem !important; - } - .mx-xs-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xs-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xs-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-6 { - margin: 2rem !important; - } - .mt-xs-6 { - margin-top: 2rem !important; - } - .mr-xs-6 { - margin-right: 2rem !important; - } - .mb-xs-6 { - margin-bottom: 2rem !important; - } - .ml-xs-6 { - margin-left: 2rem !important; - } - .mx-xs-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xs-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xs-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-7 { - margin: 2.5rem !important; - } - .mt-xs-7 { - margin-top: 2.5rem !important; - } - .mr-xs-7 { - margin-right: 2.5rem !important; - } - .mb-xs-7 { - margin-bottom: 2.5rem !important; - } - .ml-xs-7 { - margin-left: 2.5rem !important; - } - .mx-xs-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xs-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xs-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-8 { - margin: 3rem !important; - } - .mt-xs-8 { - margin-top: 3rem !important; - } - .mr-xs-8 { - margin-right: 3rem !important; - } - .mb-xs-8 { - margin-bottom: 3rem !important; - } - .ml-xs-8 { - margin-left: 3rem !important; - } - .mx-xs-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xs-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xs-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-9 { - margin: 3.5rem !important; - } - .mt-xs-9 { - margin-top: 3.5rem !important; - } - .mr-xs-9 { - margin-right: 3.5rem !important; - } - .mb-xs-9 { - margin-bottom: 3.5rem !important; - } - .ml-xs-9 { - margin-left: 3.5rem !important; - } - .mx-xs-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xs-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xs-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-10 { - margin: 4rem !important; - } - .mt-xs-10 { - margin-top: 4rem !important; - } - .mr-xs-10 { - margin-right: 4rem !important; - } - .mb-xs-10 { - margin-bottom: 4rem !important; - } - .ml-xs-10 { - margin-left: 4rem !important; - } - .mx-xs-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xs-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xs-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-sm-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-sm-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-sm-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-3 { - margin: 0.75rem !important; - } - .mt-sm-3 { - margin-top: 0.75rem !important; - } - .mr-sm-3 { - margin-right: 0.75rem !important; - } - .mb-sm-3 { - margin-bottom: 0.75rem !important; - } - .ml-sm-3 { - margin-left: 0.75rem !important; - } - .mx-sm-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-sm-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-sm-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-4 { - margin: 1rem !important; - } - .mt-sm-4 { - margin-top: 1rem !important; - } - .mr-sm-4 { - margin-right: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 1rem !important; - } - .ml-sm-4 { - margin-left: 1rem !important; - } - .mx-sm-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-sm-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-5 { - margin: 1.5rem !important; - } - .mt-sm-5 { - margin-top: 1.5rem !important; - } - .mr-sm-5 { - margin-right: 1.5rem !important; - } - .mb-sm-5 { - margin-bottom: 1.5rem !important; - } - .ml-sm-5 { - margin-left: 1.5rem !important; - } - .mx-sm-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-sm-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-6 { - margin: 2rem !important; - } - .mt-sm-6 { - margin-top: 2rem !important; - } - .mr-sm-6 { - margin-right: 2rem !important; - } - .mb-sm-6 { - margin-bottom: 2rem !important; - } - .ml-sm-6 { - margin-left: 2rem !important; - } - .mx-sm-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-sm-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-sm-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-7 { - margin: 2.5rem !important; - } - .mt-sm-7 { - margin-top: 2.5rem !important; - } - .mr-sm-7 { - margin-right: 2.5rem !important; - } - .mb-sm-7 { - margin-bottom: 2.5rem !important; - } - .ml-sm-7 { - margin-left: 2.5rem !important; - } - .mx-sm-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-sm-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-sm-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-8 { - margin: 3rem !important; - } - .mt-sm-8 { - margin-top: 3rem !important; - } - .mr-sm-8 { - margin-right: 3rem !important; - } - .mb-sm-8 { - margin-bottom: 3rem !important; - } - .ml-sm-8 { - margin-left: 3rem !important; - } - .mx-sm-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-sm-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-9 { - margin: 3.5rem !important; - } - .mt-sm-9 { - margin-top: 3.5rem !important; - } - .mr-sm-9 { - margin-right: 3.5rem !important; - } - .mb-sm-9 { - margin-bottom: 3.5rem !important; - } - .ml-sm-9 { - margin-left: 3.5rem !important; - } - .mx-sm-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-sm-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-sm-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-10 { - margin: 4rem !important; - } - .mt-sm-10 { - margin-top: 4rem !important; - } - .mr-sm-10 { - margin-right: 4rem !important; - } - .mb-sm-10 { - margin-bottom: 4rem !important; - } - .ml-sm-10 { - margin-left: 4rem !important; - } - .mx-sm-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-sm-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-sm-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 50rem) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-md-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 50rem) { - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-md-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 50rem) { - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-md-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-3 { - margin: 0.75rem !important; - } - .mt-md-3 { - margin-top: 0.75rem !important; - } - .mr-md-3 { - margin-right: 0.75rem !important; - } - .mb-md-3 { - margin-bottom: 0.75rem !important; - } - .ml-md-3 { - margin-left: 0.75rem !important; - } - .mx-md-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-md-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-md-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 50rem) { - .m-md-4 { - margin: 1rem !important; - } - .mt-md-4 { - margin-top: 1rem !important; - } - .mr-md-4 { - margin-right: 1rem !important; - } - .mb-md-4 { - margin-bottom: 1rem !important; - } - .ml-md-4 { - margin-left: 1rem !important; - } - .mx-md-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-md-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 50rem) { - .m-md-5 { - margin: 1.5rem !important; - } - .mt-md-5 { - margin-top: 1.5rem !important; - } - .mr-md-5 { - margin-right: 1.5rem !important; - } - .mb-md-5 { - margin-bottom: 1.5rem !important; - } - .ml-md-5 { - margin-left: 1.5rem !important; - } - .mx-md-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-md-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-6 { - margin: 2rem !important; - } - .mt-md-6 { - margin-top: 2rem !important; - } - .mr-md-6 { - margin-right: 2rem !important; - } - .mb-md-6 { - margin-bottom: 2rem !important; - } - .ml-md-6 { - margin-left: 2rem !important; - } - .mx-md-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-md-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-md-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 50rem) { - .m-md-7 { - margin: 2.5rem !important; - } - .mt-md-7 { - margin-top: 2.5rem !important; - } - .mr-md-7 { - margin-right: 2.5rem !important; - } - .mb-md-7 { - margin-bottom: 2.5rem !important; - } - .ml-md-7 { - margin-left: 2.5rem !important; - } - .mx-md-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-md-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-md-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-8 { - margin: 3rem !important; - } - .mt-md-8 { - margin-top: 3rem !important; - } - .mr-md-8 { - margin-right: 3rem !important; - } - .mb-md-8 { - margin-bottom: 3rem !important; - } - .ml-md-8 { - margin-left: 3rem !important; - } - .mx-md-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-md-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 50rem) { - .m-md-9 { - margin: 3.5rem !important; - } - .mt-md-9 { - margin-top: 3.5rem !important; - } - .mr-md-9 { - margin-right: 3.5rem !important; - } - .mb-md-9 { - margin-bottom: 3.5rem !important; - } - .ml-md-9 { - margin-left: 3.5rem !important; - } - .mx-md-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-md-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-md-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-10 { - margin: 4rem !important; - } - .mt-md-10 { - margin-top: 4rem !important; - } - .mr-md-10 { - margin-right: 4rem !important; - } - .mb-md-10 { - margin-bottom: 4rem !important; - } - .ml-md-10 { - margin-left: 4rem !important; - } - .mx-md-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-md-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-md-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-lg-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-lg-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-lg-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-3 { - margin: 0.75rem !important; - } - .mt-lg-3 { - margin-top: 0.75rem !important; - } - .mr-lg-3 { - margin-right: 0.75rem !important; - } - .mb-lg-3 { - margin-bottom: 0.75rem !important; - } - .ml-lg-3 { - margin-left: 0.75rem !important; - } - .mx-lg-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-lg-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-lg-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-4 { - margin: 1rem !important; - } - .mt-lg-4 { - margin-top: 1rem !important; - } - .mr-lg-4 { - margin-right: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 1rem !important; - } - .ml-lg-4 { - margin-left: 1rem !important; - } - .mx-lg-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-lg-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-5 { - margin: 1.5rem !important; - } - .mt-lg-5 { - margin-top: 1.5rem !important; - } - .mr-lg-5 { - margin-right: 1.5rem !important; - } - .mb-lg-5 { - margin-bottom: 1.5rem !important; - } - .ml-lg-5 { - margin-left: 1.5rem !important; - } - .mx-lg-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-lg-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-6 { - margin: 2rem !important; - } - .mt-lg-6 { - margin-top: 2rem !important; - } - .mr-lg-6 { - margin-right: 2rem !important; - } - .mb-lg-6 { - margin-bottom: 2rem !important; - } - .ml-lg-6 { - margin-left: 2rem !important; - } - .mx-lg-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-lg-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-lg-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-7 { - margin: 2.5rem !important; - } - .mt-lg-7 { - margin-top: 2.5rem !important; - } - .mr-lg-7 { - margin-right: 2.5rem !important; - } - .mb-lg-7 { - margin-bottom: 2.5rem !important; - } - .ml-lg-7 { - margin-left: 2.5rem !important; - } - .mx-lg-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-lg-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-lg-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-8 { - margin: 3rem !important; - } - .mt-lg-8 { - margin-top: 3rem !important; - } - .mr-lg-8 { - margin-right: 3rem !important; - } - .mb-lg-8 { - margin-bottom: 3rem !important; - } - .ml-lg-8 { - margin-left: 3rem !important; - } - .mx-lg-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-lg-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-9 { - margin: 3.5rem !important; - } - .mt-lg-9 { - margin-top: 3.5rem !important; - } - .mr-lg-9 { - margin-right: 3.5rem !important; - } - .mb-lg-9 { - margin-bottom: 3.5rem !important; - } - .ml-lg-9 { - margin-left: 3.5rem !important; - } - .mx-lg-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-lg-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-lg-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-10 { - margin: 4rem !important; - } - .mt-lg-10 { - margin-top: 4rem !important; - } - .mr-lg-10 { - margin-right: 4rem !important; - } - .mb-lg-10 { - margin-bottom: 4rem !important; - } - .ml-lg-10 { - margin-left: 4rem !important; - } - .mx-lg-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-lg-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-lg-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xl-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xl-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xl-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-3 { - margin: 0.75rem !important; - } - .mt-xl-3 { - margin-top: 0.75rem !important; - } - .mr-xl-3 { - margin-right: 0.75rem !important; - } - .mb-xl-3 { - margin-bottom: 0.75rem !important; - } - .ml-xl-3 { - margin-left: 0.75rem !important; - } - .mx-xl-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xl-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xl-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-4 { - margin: 1rem !important; - } - .mt-xl-4 { - margin-top: 1rem !important; - } - .mr-xl-4 { - margin-right: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 1rem !important; - } - .ml-xl-4 { - margin-left: 1rem !important; - } - .mx-xl-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xl-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-5 { - margin: 1.5rem !important; - } - .mt-xl-5 { - margin-top: 1.5rem !important; - } - .mr-xl-5 { - margin-right: 1.5rem !important; - } - .mb-xl-5 { - margin-bottom: 1.5rem !important; - } - .ml-xl-5 { - margin-left: 1.5rem !important; - } - .mx-xl-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xl-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-6 { - margin: 2rem !important; - } - .mt-xl-6 { - margin-top: 2rem !important; - } - .mr-xl-6 { - margin-right: 2rem !important; - } - .mb-xl-6 { - margin-bottom: 2rem !important; - } - .ml-xl-6 { - margin-left: 2rem !important; - } - .mx-xl-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xl-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xl-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-7 { - margin: 2.5rem !important; - } - .mt-xl-7 { - margin-top: 2.5rem !important; - } - .mr-xl-7 { - margin-right: 2.5rem !important; - } - .mb-xl-7 { - margin-bottom: 2.5rem !important; - } - .ml-xl-7 { - margin-left: 2.5rem !important; - } - .mx-xl-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xl-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xl-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-8 { - margin: 3rem !important; - } - .mt-xl-8 { - margin-top: 3rem !important; - } - .mr-xl-8 { - margin-right: 3rem !important; - } - .mb-xl-8 { - margin-bottom: 3rem !important; - } - .ml-xl-8 { - margin-left: 3rem !important; - } - .mx-xl-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xl-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-9 { - margin: 3.5rem !important; - } - .mt-xl-9 { - margin-top: 3.5rem !important; - } - .mr-xl-9 { - margin-right: 3.5rem !important; - } - .mb-xl-9 { - margin-bottom: 3.5rem !important; - } - .ml-xl-9 { - margin-left: 3.5rem !important; - } - .mx-xl-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xl-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xl-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-10 { - margin: 4rem !important; - } - .mt-xl-10 { - margin-top: 4rem !important; - } - .mr-xl-10 { - margin-right: 4rem !important; - } - .mb-xl-10 { - margin-bottom: 4rem !important; - } - .ml-xl-10 { - margin-left: 4rem !important; - } - .mx-xl-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xl-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xl-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -.p-0 { - padding: 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 0.75rem !important; -} - -.pt-3 { - padding-top: 0.75rem !important; -} - -.pr-3 { - padding-right: 0.75rem !important; -} - -.pb-3 { - padding-bottom: 0.75rem !important; -} - -.pl-3 { - padding-left: 0.75rem !important; -} - -.px-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; -} - -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} - -.p-4 { - padding: 1rem !important; -} - -.pt-4 { - padding-top: 1rem !important; -} - -.pr-4 { - padding-right: 1rem !important; -} - -.pb-4 { - padding-bottom: 1rem !important; -} - -.pl-4 { - padding-left: 1rem !important; -} - -.px-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-5 { - padding: 1.5rem !important; -} - -.pt-5 { - padding-top: 1.5rem !important; -} - -.pr-5 { - padding-right: 1.5rem !important; -} - -.pb-5 { - padding-bottom: 1.5rem !important; -} - -.pl-5 { - padding-left: 1.5rem !important; -} - -.px-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-6 { - padding: 2rem !important; -} - -.pt-6 { - padding-top: 2rem !important; -} - -.pr-6 { - padding-right: 2rem !important; -} - -.pb-6 { - padding-bottom: 2rem !important; -} - -.pl-6 { - padding-left: 2rem !important; -} - -.px-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; -} - -.py-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.p-7 { - padding: 2.5rem !important; -} - -.pt-7 { - padding-top: 2.5rem !important; -} - -.pr-7 { - padding-right: 2.5rem !important; -} - -.pb-7 { - padding-bottom: 2.5rem !important; -} - -.pl-7 { - padding-left: 2.5rem !important; -} - -.px-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; -} - -.py-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; -} - -.p-8 { - padding: 3rem !important; -} - -.pt-8 { - padding-top: 3rem !important; -} - -.pr-8 { - padding-right: 3rem !important; -} - -.pb-8 { - padding-bottom: 3rem !important; -} - -.pl-8 { - padding-left: 3rem !important; -} - -.px-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.p-9 { - padding: 3.5rem !important; -} - -.pt-9 { - padding-top: 3.5rem !important; -} - -.pr-9 { - padding-right: 3.5rem !important; -} - -.pb-9 { - padding-bottom: 3.5rem !important; -} - -.pl-9 { - padding-left: 3.5rem !important; -} - -.px-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; -} - -.py-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; -} - -.p-10 { - padding: 4rem !important; -} - -.pt-10 { - padding-top: 4rem !important; -} - -.pr-10 { - padding-right: 4rem !important; -} - -.pb-10 { - padding-bottom: 4rem !important; -} - -.pl-10 { - padding-left: 4rem !important; -} - -.px-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; -} - -.py-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -@media (min-width: 20rem) { - .p-xs-0 { - padding: 0 !important; - } - .pt-xs-0 { - padding-top: 0 !important; - } - .pr-xs-0 { - padding-right: 0 !important; - } - .pb-xs-0 { - padding-bottom: 0 !important; - } - .pl-xs-0 { - padding-left: 0 !important; - } - .px-xs-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xs-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xs-1 { - padding: 0.25rem !important; - } - .pt-xs-1 { - padding-top: 0.25rem !important; - } - .pr-xs-1 { - padding-right: 0.25rem !important; - } - .pb-xs-1 { - padding-bottom: 0.25rem !important; - } - .pl-xs-1 { - padding-left: 0.25rem !important; - } - .px-xs-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xs-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xs-2 { - padding: 0.5rem !important; - } - .pt-xs-2 { - padding-top: 0.5rem !important; - } - .pr-xs-2 { - padding-right: 0.5rem !important; - } - .pb-xs-2 { - padding-bottom: 0.5rem !important; - } - .pl-xs-2 { - padding-left: 0.5rem !important; - } - .px-xs-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xs-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xs-3 { - padding: 0.75rem !important; - } - .pt-xs-3 { - padding-top: 0.75rem !important; - } - .pr-xs-3 { - padding-right: 0.75rem !important; - } - .pb-xs-3 { - padding-bottom: 0.75rem !important; - } - .pl-xs-3 { - padding-left: 0.75rem !important; - } - .px-xs-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xs-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xs-4 { - padding: 1rem !important; - } - .pt-xs-4 { - padding-top: 1rem !important; - } - .pr-xs-4 { - padding-right: 1rem !important; - } - .pb-xs-4 { - padding-bottom: 1rem !important; - } - .pl-xs-4 { - padding-left: 1rem !important; - } - .px-xs-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xs-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xs-5 { - padding: 1.5rem !important; - } - .pt-xs-5 { - padding-top: 1.5rem !important; - } - .pr-xs-5 { - padding-right: 1.5rem !important; - } - .pb-xs-5 { - padding-bottom: 1.5rem !important; - } - .pl-xs-5 { - padding-left: 1.5rem !important; - } - .px-xs-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xs-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xs-6 { - padding: 2rem !important; - } - .pt-xs-6 { - padding-top: 2rem !important; - } - .pr-xs-6 { - padding-right: 2rem !important; - } - .pb-xs-6 { - padding-bottom: 2rem !important; - } - .pl-xs-6 { - padding-left: 2rem !important; - } - .px-xs-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xs-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xs-7 { - padding: 2.5rem !important; - } - .pt-xs-7 { - padding-top: 2.5rem !important; - } - .pr-xs-7 { - padding-right: 2.5rem !important; - } - .pb-xs-7 { - padding-bottom: 2.5rem !important; - } - .pl-xs-7 { - padding-left: 2.5rem !important; - } - .px-xs-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xs-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xs-8 { - padding: 3rem !important; - } - .pt-xs-8 { - padding-top: 3rem !important; - } - .pr-xs-8 { - padding-right: 3rem !important; - } - .pb-xs-8 { - padding-bottom: 3rem !important; - } - .pl-xs-8 { - padding-left: 3rem !important; - } - .px-xs-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xs-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xs-9 { - padding: 3.5rem !important; - } - .pt-xs-9 { - padding-top: 3.5rem !important; - } - .pr-xs-9 { - padding-right: 3.5rem !important; - } - .pb-xs-9 { - padding-bottom: 3.5rem !important; - } - .pl-xs-9 { - padding-left: 3.5rem !important; - } - .px-xs-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xs-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xs-10 { - padding: 4rem !important; - } - .pt-xs-10 { - padding-top: 4rem !important; - } - .pr-xs-10 { - padding-right: 4rem !important; - } - .pb-xs-10 { - padding-bottom: 4rem !important; - } - .pl-xs-10 { - padding-left: 4rem !important; - } - .px-xs-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xs-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 31.25rem) { - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 0.75rem !important; - } - .pt-sm-3 { - padding-top: 0.75rem !important; - } - .pr-sm-3 { - padding-right: 0.75rem !important; - } - .pb-sm-3 { - padding-bottom: 0.75rem !important; - } - .pl-sm-3 { - padding-left: 0.75rem !important; - } - .px-sm-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-sm-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-sm-4 { - padding: 1rem !important; - } - .pt-sm-4 { - padding-top: 1rem !important; - } - .pr-sm-4 { - padding-right: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 1rem !important; - } - .pl-sm-4 { - padding-left: 1rem !important; - } - .px-sm-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-5 { - padding: 1.5rem !important; - } - .pt-sm-5 { - padding-top: 1.5rem !important; - } - .pr-sm-5 { - padding-right: 1.5rem !important; - } - .pb-sm-5 { - padding-bottom: 1.5rem !important; - } - .pl-sm-5 { - padding-left: 1.5rem !important; - } - .px-sm-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-6 { - padding: 2rem !important; - } - .pt-sm-6 { - padding-top: 2rem !important; - } - .pr-sm-6 { - padding-right: 2rem !important; - } - .pb-sm-6 { - padding-bottom: 2rem !important; - } - .pl-sm-6 { - padding-left: 2rem !important; - } - .px-sm-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-sm-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-sm-7 { - padding: 2.5rem !important; - } - .pt-sm-7 { - padding-top: 2.5rem !important; - } - .pr-sm-7 { - padding-right: 2.5rem !important; - } - .pb-sm-7 { - padding-bottom: 2.5rem !important; - } - .pl-sm-7 { - padding-left: 2.5rem !important; - } - .px-sm-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-sm-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-sm-8 { - padding: 3rem !important; - } - .pt-sm-8 { - padding-top: 3rem !important; - } - .pr-sm-8 { - padding-right: 3rem !important; - } - .pb-sm-8 { - padding-bottom: 3rem !important; - } - .pl-sm-8 { - padding-left: 3rem !important; - } - .px-sm-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-sm-9 { - padding: 3.5rem !important; - } - .pt-sm-9 { - padding-top: 3.5rem !important; - } - .pr-sm-9 { - padding-right: 3.5rem !important; - } - .pb-sm-9 { - padding-bottom: 3.5rem !important; - } - .pl-sm-9 { - padding-left: 3.5rem !important; - } - .px-sm-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-sm-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-sm-10 { - padding: 4rem !important; - } - .pt-sm-10 { - padding-top: 4rem !important; - } - .pr-sm-10 { - padding-right: 4rem !important; - } - .pb-sm-10 { - padding-bottom: 4rem !important; - } - .pl-sm-10 { - padding-left: 4rem !important; - } - .px-sm-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-sm-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 50rem) { - .p-md-0 { - padding: 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 0.75rem !important; - } - .pt-md-3 { - padding-top: 0.75rem !important; - } - .pr-md-3 { - padding-right: 0.75rem !important; - } - .pb-md-3 { - padding-bottom: 0.75rem !important; - } - .pl-md-3 { - padding-left: 0.75rem !important; - } - .px-md-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-md-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-md-4 { - padding: 1rem !important; - } - .pt-md-4 { - padding-top: 1rem !important; - } - .pr-md-4 { - padding-right: 1rem !important; - } - .pb-md-4 { - padding-bottom: 1rem !important; - } - .pl-md-4 { - padding-left: 1rem !important; - } - .px-md-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-5 { - padding: 1.5rem !important; - } - .pt-md-5 { - padding-top: 1.5rem !important; - } - .pr-md-5 { - padding-right: 1.5rem !important; - } - .pb-md-5 { - padding-bottom: 1.5rem !important; - } - .pl-md-5 { - padding-left: 1.5rem !important; - } - .px-md-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-6 { - padding: 2rem !important; - } - .pt-md-6 { - padding-top: 2rem !important; - } - .pr-md-6 { - padding-right: 2rem !important; - } - .pb-md-6 { - padding-bottom: 2rem !important; - } - .pl-md-6 { - padding-left: 2rem !important; - } - .px-md-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-md-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-md-7 { - padding: 2.5rem !important; - } - .pt-md-7 { - padding-top: 2.5rem !important; - } - .pr-md-7 { - padding-right: 2.5rem !important; - } - .pb-md-7 { - padding-bottom: 2.5rem !important; - } - .pl-md-7 { - padding-left: 2.5rem !important; - } - .px-md-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-md-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-md-8 { - padding: 3rem !important; - } - .pt-md-8 { - padding-top: 3rem !important; - } - .pr-md-8 { - padding-right: 3rem !important; - } - .pb-md-8 { - padding-bottom: 3rem !important; - } - .pl-md-8 { - padding-left: 3rem !important; - } - .px-md-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-md-9 { - padding: 3.5rem !important; - } - .pt-md-9 { - padding-top: 3.5rem !important; - } - .pr-md-9 { - padding-right: 3.5rem !important; - } - .pb-md-9 { - padding-bottom: 3.5rem !important; - } - .pl-md-9 { - padding-left: 3.5rem !important; - } - .px-md-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-md-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-md-10 { - padding: 4rem !important; - } - .pt-md-10 { - padding-top: 4rem !important; - } - .pr-md-10 { - padding-right: 4rem !important; - } - .pb-md-10 { - padding-bottom: 4rem !important; - } - .pl-md-10 { - padding-left: 4rem !important; - } - .px-md-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-md-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 66.5rem) { - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 0.75rem !important; - } - .pt-lg-3 { - padding-top: 0.75rem !important; - } - .pr-lg-3 { - padding-right: 0.75rem !important; - } - .pb-lg-3 { - padding-bottom: 0.75rem !important; - } - .pl-lg-3 { - padding-left: 0.75rem !important; - } - .px-lg-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-lg-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-lg-4 { - padding: 1rem !important; - } - .pt-lg-4 { - padding-top: 1rem !important; - } - .pr-lg-4 { - padding-right: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 1rem !important; - } - .pl-lg-4 { - padding-left: 1rem !important; - } - .px-lg-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-5 { - padding: 1.5rem !important; - } - .pt-lg-5 { - padding-top: 1.5rem !important; - } - .pr-lg-5 { - padding-right: 1.5rem !important; - } - .pb-lg-5 { - padding-bottom: 1.5rem !important; - } - .pl-lg-5 { - padding-left: 1.5rem !important; - } - .px-lg-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-6 { - padding: 2rem !important; - } - .pt-lg-6 { - padding-top: 2rem !important; - } - .pr-lg-6 { - padding-right: 2rem !important; - } - .pb-lg-6 { - padding-bottom: 2rem !important; - } - .pl-lg-6 { - padding-left: 2rem !important; - } - .px-lg-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-lg-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-lg-7 { - padding: 2.5rem !important; - } - .pt-lg-7 { - padding-top: 2.5rem !important; - } - .pr-lg-7 { - padding-right: 2.5rem !important; - } - .pb-lg-7 { - padding-bottom: 2.5rem !important; - } - .pl-lg-7 { - padding-left: 2.5rem !important; - } - .px-lg-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-lg-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-lg-8 { - padding: 3rem !important; - } - .pt-lg-8 { - padding-top: 3rem !important; - } - .pr-lg-8 { - padding-right: 3rem !important; - } - .pb-lg-8 { - padding-bottom: 3rem !important; - } - .pl-lg-8 { - padding-left: 3rem !important; - } - .px-lg-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-lg-9 { - padding: 3.5rem !important; - } - .pt-lg-9 { - padding-top: 3.5rem !important; - } - .pr-lg-9 { - padding-right: 3.5rem !important; - } - .pb-lg-9 { - padding-bottom: 3.5rem !important; - } - .pl-lg-9 { - padding-left: 3.5rem !important; - } - .px-lg-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-lg-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-lg-10 { - padding: 4rem !important; - } - .pt-lg-10 { - padding-top: 4rem !important; - } - .pr-lg-10 { - padding-right: 4rem !important; - } - .pb-lg-10 { - padding-bottom: 4rem !important; - } - .pl-lg-10 { - padding-left: 4rem !important; - } - .px-lg-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-lg-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 87.5rem) { - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 0.75rem !important; - } - .pt-xl-3 { - padding-top: 0.75rem !important; - } - .pr-xl-3 { - padding-right: 0.75rem !important; - } - .pb-xl-3 { - padding-bottom: 0.75rem !important; - } - .pl-xl-3 { - padding-left: 0.75rem !important; - } - .px-xl-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xl-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xl-4 { - padding: 1rem !important; - } - .pt-xl-4 { - padding-top: 1rem !important; - } - .pr-xl-4 { - padding-right: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 1rem !important; - } - .pl-xl-4 { - padding-left: 1rem !important; - } - .px-xl-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-5 { - padding: 1.5rem !important; - } - .pt-xl-5 { - padding-top: 1.5rem !important; - } - .pr-xl-5 { - padding-right: 1.5rem !important; - } - .pb-xl-5 { - padding-bottom: 1.5rem !important; - } - .pl-xl-5 { - padding-left: 1.5rem !important; - } - .px-xl-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-6 { - padding: 2rem !important; - } - .pt-xl-6 { - padding-top: 2rem !important; - } - .pr-xl-6 { - padding-right: 2rem !important; - } - .pb-xl-6 { - padding-bottom: 2rem !important; - } - .pl-xl-6 { - padding-left: 2rem !important; - } - .px-xl-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xl-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xl-7 { - padding: 2.5rem !important; - } - .pt-xl-7 { - padding-top: 2.5rem !important; - } - .pr-xl-7 { - padding-right: 2.5rem !important; - } - .pb-xl-7 { - padding-bottom: 2.5rem !important; - } - .pl-xl-7 { - padding-left: 2.5rem !important; - } - .px-xl-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xl-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xl-8 { - padding: 3rem !important; - } - .pt-xl-8 { - padding-top: 3rem !important; - } - .pr-xl-8 { - padding-right: 3rem !important; - } - .pb-xl-8 { - padding-bottom: 3rem !important; - } - .pl-xl-8 { - padding-left: 3rem !important; - } - .px-xl-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xl-9 { - padding: 3.5rem !important; - } - .pt-xl-9 { - padding-top: 3.5rem !important; - } - .pr-xl-9 { - padding-right: 3.5rem !important; - } - .pb-xl-9 { - padding-bottom: 3.5rem !important; - } - .pl-xl-9 { - padding-left: 3.5rem !important; - } - .px-xl-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xl-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xl-10 { - padding: 4rem !important; - } - .pt-xl-10 { - padding-top: 4rem !important; - } - .pr-xl-10 { - padding-right: 4rem !important; - } - .pb-xl-10 { - padding-bottom: 4rem !important; - } - .pl-xl-10 { - padding-left: 4rem !important; - } - .px-xl-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xl-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media print { - .site-footer, - .site-button, - #edit-this-page, - #back-to-top, - .site-nav, - .main-header { - display: none !important; - } - hr { - margin-top: 1rem; - margin-bottom: 1rem; - } - .side-bar { - width: 100%; - height: auto; - border-right: 0 !important; - } - .site-header { - border-bottom: 1px solid #D5D6E0; - } - .site-title { - font-size: 1rem !important; - font-weight: 700 !important; - } - .text-small { - font-size: 8pt !important; - } - pre.highlight { - border: 1px solid #D5D6E0; - } - .main { - max-width: none; - margin-left: 0; - } -} -a.skip-to-main { - left: -999px; - position: absolute; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; - z-index: -999; -} - -a.skip-to-main:focus, -a.skip-to-main:active { - color: #2D8F52; - background-color: #F5F6FA; - left: auto; - top: auto; - width: 30%; - height: auto; - overflow: auto; - margin: 10px 35%; - padding: 5px; - border-radius: 15px; - border: 4px solid #2D8F52; - text-align: center; - font-size: 1.2em; - z-index: 999; -} - -div.opaque { - background-color: #F5F6FA; -} - -p.tip, blockquote.tip { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip::before, blockquote.tip::before { - color: #026e57; - content: "Tip"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.tip > .tip-title, blockquote.tip > .tip-title { - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.tip-title, blockquote.tip-title { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip-title > p:first-child, blockquote.tip-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.tip { - margin-left: 0; - margin-right: 0; -} -blockquote.tip > p:first-child { - margin-top: 0; -} -blockquote.tip > p:last-child { - margin-bottom: 0; -} - -blockquote.tip-title { - margin-left: 0; - margin-right: 0; -} -blockquote.tip-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.tip-title > p:last-child { - margin-bottom: 0; -} - -p.note, blockquote.note { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note::before, blockquote.note::before { - color: #183385; - content: "Note"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.note > .note-title, blockquote.note > .note-title { - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.note-title, blockquote.note-title { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note-title > p:first-child, blockquote.note-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.note { - margin-left: 0; - margin-right: 0; -} -blockquote.note > p:first-child { - margin-top: 0; -} -blockquote.note > p:last-child { - margin-bottom: 0; -} - -blockquote.note-title { - margin-left: 0; - margin-right: 0; -} -blockquote.note-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.note-title > p:last-child { - margin-bottom: 0; -} - -p.warning, blockquote.warning { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning::before, blockquote.warning::before { - color: #e7af06; - content: "Warning"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.warning > .warning-title, blockquote.warning > .warning-title { - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.warning-title, blockquote.warning-title { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning-title > p:first-child, blockquote.warning-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.warning { - margin-left: 0; - margin-right: 0; -} -blockquote.warning > p:first-child { - margin-top: 0; -} -blockquote.warning > p:last-child { - margin-bottom: 0; -} - -blockquote.warning-title { - margin-left: 0; - margin-right: 0; -} -blockquote.warning-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.warning-title > p:last-child { - margin-bottom: 0; -} - -/*# sourceMappingURL=just-the-docs-default.css.map */ \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-default.css.map b/v2.8.0/assets/css/just-the-docs-default.css.map deleted file mode 100644 index 1232e29cf1..0000000000 --- a/v2.8.0/assets/css/just-the-docs-default.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/base.scss","../../_sass/color_schemes/meshtastic.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/_variables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/content.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/navigation.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/labels.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/color_schemes/light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/search.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/tables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/code.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_colors.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_lists.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_spacing.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/print.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/skiptomain.scss","just-the-docs-default.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCGa;;;ADAf;EACE;;;AAGF;EACE;;AEmBA;EACE;;AClBA;EHHJ;IEyBI;;;;AFnBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OCTgB;EDUhB,kBCZsB;EDatB;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OCvCmB;;;AD0CrB;EACE;EACA;;;AAGF;EACE,OC7CW;ED8CX;;;AAGF;EACE;EACA,uBCvCa;EDwCb;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBCvEa;EDwEb;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBJKc;;AEGZ;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBJ5BU;;AEGZ;EEuBA;IAKI;IACA,kBJjCgB;;;AIoClB;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,OJzHmB;EEYnB,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF/BL;EACE;;ACtCA;EEiHJ;IHvEI;IACA,aEhDuB;;;ADKvB;EEiHJ;IAcI,aD/DG;ICgEH,gBDhEG;;;;AC+EP;EACE;EACA;EACA,SDhFK;ECiFL;;;AFnJE;EEuJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aD/GK;ECgHL,gBDhHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE6KJ;IF9JI,eCqDG;IDpDH,cCoDG;;;AFvEL;EACE;;ACEA;EE6KJ;IH3KI;;;ACFA;EE6KJ;IAYI;IACA;;;;AAIJ;EACE,OD5HK;EC6HL,QD7HK;EC8HL,OJ/LW;;;AKXb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJ1BN;EACE;;ACRA;EG2BE;IJfF;;;ACZA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OLnKO;EKoKP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALoBF;EACE;;AClBA;EILF;IL2BE;;;ACtBA;EDOF;IACE;;;ACRA;EILF;ILiBE;;;AKPA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EAEE,eH0DD;EGzDC,cHqDD;;ADlEH;EIKA;IAeI,YHgDD;IG/CC;IAEE,eH6CH;IG5CG,cH4CH;;;AGrCD;EACE,OHkCD;EGjCC,QHiCD;EGhCC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHUC;EGTD,QHSC;EGRD;EACA,ON7DO;;AEFT;EIsDA;IAYI,OHED;IGDC,QHCD;IGAC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cHvBC;EGwBD;;AAEA;EACE;;AAEA;EACE,ONzFa;;AM4Ff;EACE,ON7Fa;;AMmGjB;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;ALhIA;EACE;;ACEA;EIwHJ;ILtHI;;;ACFA;EIwHJ;IASI;IACA,YHhEG;IGiEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,ONlJG;;AMqJL;EACE,ONtJG;;;AM+Jb;EACE;EACA;;ALtKA;EACE;;ACEA;EIiKJ;IL/JI;;;AKoKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJlLA;EIiKJ;IAqBI,eHpHG;;;;ADlEH;EI4LJ;IAEI;;;;AAIJ;EACE;EACA,eHnIK;EGoIL;;;AAGF;EACE;;AL5MA;EACE;;ACEA;EIwMJ;ILtMI;;;AK0MF;EACE;;AAGF;EACE;EACA,cHlJG;EGmJH,aHnJG;EGoJH,OHpMU;EGqMV;;AAIA;EACE;;;ACrON;AAAA;EAEE;;ANoEA;AAAA;EACE;EACA,aElEuB;;ADKvB;EKXJ;AAAA;IN4EI;;;;AA5BF;AAAA;AAAA;EACE;;ACtCA;EKJJ;AAAA;AAAA;IN8CI;IACA,aEhDuB;;;;AFgCzB;AAAA;EACE;;AC5BA;EKEJ;AAAA;IN8BI;;;;AMzBJ;AAAA;EAEE;EACA;EACA;;ANdA;AAAA;EACE;;ACEA;EKOJ;AAAA;INLI;;;;AMcJ;EACE;;;ANVA;AAAA;EACE;;ACRA;EKoBJ;AAAA;INRI;;;;AAfF;AAAA;EACE;;ACEA;EKyBJ;AAAA;INvBI;;;;AALF;EACE;;ACEA;EK8BJ;IN5BI;;;;AMgCJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APLA;AAAA;EACE;;ACEA;EMRJ;AAAA;IPUI;;;;AOKJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OTIW;ESHX;EACA;EACA;EACA,kBCTkB;EDUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,OT1DW;ES2DX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;EEnGE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AFgFJ;EEvGE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AFoFJ;EE3GE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AFwFJ;EE/GE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AF4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AG3HF;EACE;EACA;EACA;EACA,QTgFM;ES/EN,STuEK;EStEL;;AVME;EUZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QT8DK;ES7DL;EACA,eTmEc;ESlEd,YACE;EAEF;;AVdE;EUKJ;IAYI;IACA;IACA,WTwEmB;ISvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,OZnCgB;EYoChB,kBZVwB;EYWxB;EACA;EACA;EACA;EACA;;AVvCE;EU2BJ;IAeI;IACA;IACA,kBZhDoB;IYiDpB;;;AAGF;EACE;EACA;;AAEA;EACE,OZnDO;;;AYwDb;EACE;EACA;EACA;EACA,cTIK;;ADlEH;EU0DJ;IAOI,cTGG;ISFH;;;AAGF;EACE;EACA;EACA;EACA,OTzDU;;;AS6Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBZ5DwB;EY6DxB,4BTRc;ESSd,2BTTc;ESUd,YACE;;AVxFA;EU6EJ;IAeI;IACA,OTFmB;ISGnB;;;;AAIJ;EACE;EACA,eTrCK;ESsCL;;AXpFA;EACE;;AClBA;EUkGJ;IX5EI;;;ACtBA;EDOF;IACE;;;ACRA;EUkGJ;IXtFI;;;;AWiGJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EAEE,kBZnGa;;;AYuGjB;EACE;EACA,aT9DK;ES+DL,gBT/DK;;ADhEH;EU4HJ;IAMI;IACA;IACA,eTpEG;ISqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AXxIF;EACE;;ACRA;EU8IF;IXlIE;;;ACZA;EDHF;IACE;;;ACEA;EU8IF;IX5IE;;;AWqJF;EACE,OTtFG;ESuFH,QTvFG;ESwFH,cT1FG;ES2FH,OZzJS;EY0JT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OZtK4B;EYuK5B;EACA;;AX5LA;EACE;;ACYA;EUyKJ;IXjLI;;;;AW2LJ;EACE;EACA,aTrHK;ESsHL,gBTtHK;ESuHL,cTrHK;ESsHL,aTxHK;ESyHL,OZlL4B;EYmL5B;EACA,aT/GO;ESgHP,mBZ9Ka;;ACjBb;EACE;;ACEA;EUmLJ;IXjLI;;;ACFA;EUmLJ;IAaI;IACA;IACA,cTlIG;ISmIH;IACA;;;;AAIJ;EACE,YT1IK;;;AS6IP;EACE;;;AAGF;EACE;;AX1MA;EACE;;ACRA;EUgNJ;IXpMI;;;;AWyMJ;EACE;EACA,OTrJK;ESsJL,QTtJK;ESuJL;EACA,OTnJK;ESoJL,QTpJK;ESqJL,kBZpMwB;EYqMxB;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QTxLI;ESyLJ;;AVjQA;EU+PF;IAKI,OTzKiB;IS0KjB,YACE;;;AAKN;EACE,kBZpPsB;;AExBtB;EU2QF;IAII;;;AV/QF;EUmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;AVlSF;EUwSA;IACE;IACA;IACA;;;AAIJ;EACE,aTxOI;;ADxEJ;EU+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eV0EK;EUzEL;EACA,eVkFc;EUjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBbIuB;EaHvB;EACA;;AZNA;AAAA;EACE;;ACRA;EWOJ;AAAA;IZKI;;;AYKF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBVkCD;;;AU3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBdcoB;EcbpB;EACA,eX+EY;;;AW1EhB;EACE,cdUa;;;AcyCf;AAAA;AAAA;EAGE;EACA,eXMK;EWLL,kBdlDsB;EcmDtB,eXgBc;EWfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OXLG;EWMH;EACA;EACA;EACA;EACA,SXVG;EWWH;EACA;EACA,OdhFc;EciFd;;AAEA;AAAA;AAAA;EACE,MdpFY;;AcuFd;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SX/CG;EWgDH;EACA;EACA,eXtCY;;AWyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eXrEK;;AW6CL;EACE;EACA,SX/CG;EWgDH;EACA;EACA,eXtCY;;AWyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SXpFG;EWqFH;EACA;EACA,eX3EY;;;AWmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBdhKoB;EciKpB;;Ab9KF;AAAA;EACE;;ACEA;EYsKF;AAAA;IbpKE;;;Aa8KF;EACE;EACA,eXjHG;EWkHH,cXlHG;;AWqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SX9HK;EW+HL,eX/HK;EWgIL;EACA;EACA,eXtHc;;AWwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YdnNsB;EcsNpB,OdrNoB;;;Ac4NxB;EACE,Yd9NsB;;;AepBxB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AdrBE;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AfhHA;EACE;;ACYA;EeZJ;IhBII;;;;AAKF;EACE;;ACEA;EeRJ;IhBUI;;;;AAKF;EACE;;ACRA;EeJJ;IhBgBI;;;;AAKF;EACE;;AClBA;EeAJ;IhBsBI;;;;AAKF;EACE;;AC5BA;EeIJ;IhB4BI;;;;AAKF;EACE;;ACtCA;EeQJ;IhBkCI;IACA,aEhDuB;;;;AFqDzB;EACE;EACA,aEvDuB;;ADKvB;EeYJ;IhB0CI;;;;AAKF;EACE;EACA,aElEuB;;ADKvB;EegBJ;IhBiDI;;;;AAKF;EACE;EACA,aE7EuB;;ADKvB;EeoBJ;IhBwDI;;;;AAKF;EACE;EACA,aExFuB;;ADKvB;EewBJ;IhB+DI;;;;AgB3DJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,adxDiB;;;Ac2DnB;EACE,ad1DyB;;;Ac6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AjBlCA;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AjB7GA;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;ACvCJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OrBCW;EqBAX,kBrBNsB;EqBOtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACnBF;EACE;;;AAGF;EACI;EACA;EACA,enB2EY;EmB1EZ;EACA;;AAEA;EACI,OnB6BI;EmB5BJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OnBmBM;EmBlBN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,enBgDY;EmB/CZ;EACA;;AACA;EACE;EACA;EACA,OnBCM;EmBAN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,enBEY;EmBDZ;EACA;;AAEA;EACI,OnBhDG;EmBiDH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OnB1DK;EmB2DL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,enBzBY;EmB0BZ;EACA;;AACA;EACE;EACA;EACA,OnB5EK;EmB6EL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,enBvEY;EmBwEZ;EACA;;AAEA;EACI,OnBjHK;EmBkHL;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OnB3HO;EmB4HP;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,enBlGY;EmBmGZ;EACA;;AACA;EACE;EACA;EACA,OnB7IO;EmB8IP;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","// Meshtastic Material 3 — Light color scheme for just-the-docs\n// Source: core/ui/.../Color.kt §8.2 (Light Scheme)\n//\n// Brand colors:\n// Primary (Light): #2D8F52 (Green 700)\n// Surface (Light): #F5F6FA (Neutral 50)\n\n$color-scheme: light;\n\n// Body / page background\n$body-background-color: #F5F6FA; // Neutral 50 — surfaceLight\n$sidebar-color: #ECEDF3; // Neutral 100 — surfaceContainerLight\n$body-text-color: #2C2D3C; // Neutral 800 — onSurfaceLight\n$body-heading-color: #2C2D3C; // Neutral 800\n\n// Links\n$link-color: #2D8F52; // Green 700 — primaryLight\n$nav-link-color: #2D8F52; // Green 700\n\n// Navigation\n$nav-child-link-color: #555668; // Neutral 600 — secondaryLight\n$search-result-preview-color: #555668;\n\n// Code\n$code-background-color: #ECEDF3; // Neutral 100\n$code-linenumber-color: #9496A6; // Neutral 400\n\n// Borders\n$border-color: #D5D6E0; // Neutral 200 — outlineVariantLight\n$table-background-color: #F5F6FA; // Neutral 50\n\n// Buttons\n$btn-primary-color: #2D8F52; // Green 700\n\n// Feedback / callouts\n$feedback-color: #E0E1EB; // surfaceContainerHighLight\n\n// Search\n$search-background-color: #FFFFFF; // surfaceContainerLowestLight\n","@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline: 2px solid $link-color;\n outline-offset: -2px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./color_schemes/meshtastic\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.tip, blockquote.tip {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.note, blockquote.note {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $yellow-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-default.css"} \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-head-nav.css b/v2.8.0/assets/css/just-the-docs-head-nav.css deleted file mode 100644 index ae0e0fc32a..0000000000 --- a/v2.8.0/assets/css/just-the-docs-head-nav.css +++ /dev/null @@ -1,3 +0,0 @@ -.site-nav ul li a { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 80%, rgba(224, 225, 235, 0) 100%); -} diff --git a/v2.8.0/assets/css/just-the-docs-light.css b/v2.8.0/assets/css/just-the-docs-light.css deleted file mode 100644 index c45067903e..0000000000 --- a/v2.8.0/assets/css/just-the-docs-light.css +++ /dev/null @@ -1,7504 +0,0 @@ -@charset "UTF-8"; -/* -generated by accessible-pygments -Copyright (c) 2022, Quansight Labs -Licensed under the BSD license, see LICENSE for details. --- -generated by Pygments -Copyright 2006-2025 by the Pygments team. -Licensed under the BSD license, see LICENSE for details. -*/ -.highlight .hll { - background-color: rgba(9, 105, 218, 0.2901960784); -} - -.highlight .c { - color: #6E7781; -} /* Comment */ -.highlight .err { - color: #CF222E; -} /* Error */ -.highlight .k { - color: #CF222E; -} /* Keyword */ -.highlight .l { - color: #953800; -} /* Literal */ -.highlight .n { - color: #8250DF; -} /* Name */ -.highlight .o { - color: #116329; -} /* Operator */ -.highlight .p { - color: #24292F; -} /* Punctuation */ -.highlight .ch { - color: #6E7781; -} /* Comment.Hashbang */ -.highlight .cm { - color: #6E7781; -} /* Comment.Multiline */ -.highlight .cp { - color: #6E7781; -} /* Comment.Preproc */ -.highlight .cpf { - color: #6E7781; -} /* Comment.PreprocFile */ -.highlight .c1 { - color: #6E7781; -} /* Comment.Single */ -.highlight .cs { - color: #6E7781; -} /* Comment.Special */ -.highlight .gd { - color: #0550AE; -} /* Generic.Deleted */ -.highlight .ge { - font-style: italic; -} /* Generic.Emph */ -.highlight .gr { - color: #CF222E; -} /* Generic.Error */ -.highlight .gh { - color: #0550AE; -} /* Generic.Heading */ -.highlight .gs { - font-weight: bold; -} /* Generic.Strong */ -.highlight .gu { - color: #0550AE; -} /* Generic.Subheading */ -.highlight .kc { - color: #0550AE; -} /* Keyword.Constant */ -.highlight .kd { - color: #CF222E; -} /* Keyword.Declaration */ -.highlight .kn { - color: #CF222E; -} /* Keyword.Namespace */ -.highlight .kp { - color: #CF222E; -} /* Keyword.Pseudo */ -.highlight .kr { - color: #CF222E; -} /* Keyword.Reserved */ -.highlight .kt { - color: #CF222E; -} /* Keyword.Type */ -.highlight .ld { - color: #953800; -} /* Literal.Date */ -.highlight .m { - color: #953800; -} /* Literal.Number */ -.highlight .s { - color: #0550AE; -} /* Literal.String */ -.highlight .na { - color: #953800; -} /* Name.Attribute */ -.highlight .nb { - color: #953800; -} /* Name.Builtin */ -.highlight .nc { - color: #0550AE; -} /* Name.Class */ -.highlight .no { - color: #0550AE; -} /* Name.Constant */ -.highlight .nd { - color: #953800; -} /* Name.Decorator */ -.highlight .ni { - color: #116329; -} /* Name.Entity */ -.highlight .ne { - color: #8250DF; -} /* Name.Exception */ -.highlight .nf { - color: #0550AE; -} /* Name.Function */ -.highlight .nl { - color: #953800; -} /* Name.Label */ -.highlight .nn { - color: #24292F; -} /* Name.Namespace */ -.highlight .nx { - color: #8250DF; -} /* Name.Other */ -.highlight .py { - color: #0550AE; -} /* Name.Property */ -.highlight .nt { - color: #116329; -} /* Name.Tag */ -.highlight .nv { - color: #953800; -} /* Name.Variable */ -.highlight .ow { - color: #8250DF; -} /* Operator.Word */ -.highlight .pm { - color: #24292F; -} /* Punctuation.Marker */ -.highlight .w { - color: #24292F; -} /* Text.Whitespace */ -.highlight .mb { - color: #953800; -} /* Literal.Number.Bin */ -.highlight .mf { - color: #953800; -} /* Literal.Number.Float */ -.highlight .mh { - color: #953800; -} /* Literal.Number.Hex */ -.highlight .mi { - color: #953800; -} /* Literal.Number.Integer */ -.highlight .mo { - color: #953800; -} /* Literal.Number.Oct */ -.highlight .sa { - color: #0550AE; -} /* Literal.String.Affix */ -.highlight .sb { - color: #0550AE; -} /* Literal.String.Backtick */ -.highlight .sc { - color: #0550AE; -} /* Literal.String.Char */ -.highlight .dl { - color: #0550AE; -} /* Literal.String.Delimiter */ -.highlight .sd { - color: #0550AE; -} /* Literal.String.Doc */ -.highlight .s2 { - color: #0550AE; -} /* Literal.String.Double */ -.highlight .se { - color: #0550AE; -} /* Literal.String.Escape */ -.highlight .sh { - color: #0550AE; -} /* Literal.String.Heredoc */ -.highlight .si { - color: #0550AE; -} /* Literal.String.Interpol */ -.highlight .sx { - color: #0550AE; -} /* Literal.String.Other */ -.highlight .sr { - color: #0550AE; -} /* Literal.String.Regex */ -.highlight .s1 { - color: #0550AE; -} /* Literal.String.Single */ -.highlight .ss { - color: #0550AE; -} /* Literal.String.Symbol */ -.highlight .bp { - color: #953800; -} /* Name.Builtin.Pseudo */ -.highlight .fm { - color: #0550AE; -} /* Name.Function.Magic */ -.highlight .vc { - color: #953800; -} /* Name.Variable.Class */ -.highlight .vg { - color: #953800; -} /* Name.Variable.Global */ -.highlight .vi { - color: #953800; -} /* Name.Variable.Instance */ -.highlight .vm { - color: #953800; -} /* Name.Variable.Magic */ -.highlight .il { - color: #953800; -} /* Literal.Number.Integer.Long */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* Document - ========================================================================== */ -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ -html { - line-height: 1.15; /* 1 */ - text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers. - */ -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ -/** - * Remove the gray background on active links in IE 10. - */ -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ -/** - * Remove the border on images inside links in IE 10. - */ -img { - border-style: none; -} - -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ -button, -input { - /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ -button, -[type=button], -[type=reset], -[type=submit] { - appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ -[type=checkbox], -[type=radio] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type=search] { - appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-decoration { - appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ -/** - * Add the correct display in IE 10+. - */ -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ -[hidden] { - display: none; -} - -:root { - color-scheme: light; -} - -* { - box-sizing: border-box; -} - -html { - scroll-behavior: smooth; -} -html { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - html { - font-size: 1rem !important; - } -} - -body { - font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; - font-size: inherit; - line-height: 1.4; - color: #5c5962; - background-color: #fff; - overflow-wrap: break-word; -} - -ol, -ul, -dl, -pre, -address, -blockquote, -table, -div, -hr, -form, -fieldset, -noscript .table-wrapper { - margin-top: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6, -#toctitle { - margin-top: 0; - margin-bottom: 1em; - font-weight: 500; - line-height: 1.25; - color: #27262b; -} - -p { - margin-top: 1em; - margin-bottom: 1em; -} - -a { - color: #7253ed; - text-decoration: none; -} - -a:not([class]) { - text-decoration: underline; - text-decoration-color: #eeebee; - text-underline-offset: 2px; -} -a:not([class]):hover { - text-decoration-color: rgba(114, 83, 237, 0.45); -} - -code { - font-family: "SFMono-Regular", menlo, consolas, monospace; - font-size: 0.75em; - line-height: 1.4; -} - -figure, -pre { - margin: 0; -} - -li { - margin: 0.25em 0; -} - -img { - max-width: 100%; - height: auto; -} - -hr { - height: 1px; - padding: 0; - margin: 2rem 0; - background-color: #eeebee; - border: 0; -} - -blockquote { - margin: 10px 0; - margin-block-start: 0; - margin-inline-start: 0; - padding-left: 1rem; - border-left: 3px solid #eeebee; -} - -.side-bar { - z-index: 0; - display: flex; - flex-wrap: wrap; - background-color: #f5f6fa; -} -@media (min-width: 50rem) { - .side-bar { - flex-flow: column nowrap; - position: fixed; - width: 15.5rem; - height: 100%; - border-right: 1px solid #eeebee; - align-items: flex-end; - } -} -@media (min-width: 66.5rem) { - .side-bar { - width: calc((100% - 66.5rem) / 2 + 16.5rem); - min-width: 16.5rem; - } -} -@media (min-width: 50rem) { - .side-bar + .main { - margin-left: 15.5rem; - } -} -@media (min-width: 66.5rem) { - .side-bar + .main { - margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); - } -} -.side-bar + .main .main-header { - display: none; - background-color: #f5f6fa; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header { - display: flex; - background-color: #fff; - } -} -.side-bar + .main .main-header.nav-open { - display: block; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header.nav-open { - display: flex; - } -} - -.main { - margin: auto; -} -@media (min-width: 50rem) { - .main { - position: relative; - max-width: 50rem; - } -} - -.main-content-wrap { - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-right: 2rem; - padding-left: 2rem; - } -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-top: 2rem; - padding-bottom: 2rem; - } -} - -.main-header { - z-index: 0; - border-bottom: 1px solid #eeebee; -} -@media (min-width: 50rem) { - .main-header { - display: flex; - justify-content: space-between; - height: 3.75rem; - } -} - -.site-nav, -.site-header, -.site-footer { - width: 100%; -} -@media (min-width: 66.5rem) { - .site-nav, - .site-header, - .site-footer { - width: 16.5rem; - } -} - -.site-nav { - display: none; -} -.site-nav.nav-open { - display: block; -} -@media (min-width: 50rem) { - .site-nav { - display: block; - padding-top: 3rem; - padding-bottom: 1rem; - overflow-y: auto; - flex: 1 1 auto; - } -} - -.site-header { - display: flex; - min-height: 3.75rem; - align-items: center; -} -@media (min-width: 50rem) { - .site-header { - height: 3.75rem; - max-height: 3.75rem; - border-bottom: 1px solid #eeebee; - } -} - -.site-title { - flex-grow: 1; - display: flex; - height: 100%; - align-items: center; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #27262b; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-title { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-title { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .site-title { - font-size: 1.5rem !important; - line-height: 1.25; - } -} -@media (min-width: 50rem) { - .site-title { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} - -.site-button { - display: flex; - height: 100%; - padding: 1rem; - align-items: center; -} - -@media (min-width: 50rem) { - .site-header .site-button { - display: none; - } -} -.site-title:hover { - background-image: linear-gradient(-90deg, rgb(92.0784313725%, 92.8705882353%, 96.0392156863%) 0%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0.8) 80%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0) 100%); -} - -.site-button:hover { - background-image: linear-gradient(-90deg, rgb(92.0784313725%, 92.8705882353%, 96.0392156863%) 0%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0.8) 100%); -} - -.site-footer { - position: absolute; - bottom: 0; - left: 0; - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-footer { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-footer { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .site-footer { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .site-footer { - position: static; - justify-self: end; - } -} - -.icon { - width: 1.5rem; - height: 1.5rem; - color: #7253ed; -} - -.main-content { - line-height: 1.6; -} -.main-content ol, -.main-content ul, -.main-content dl, -.main-content pre, -.main-content address, -.main-content blockquote, -.main-content .table-wrapper { - margin-top: 0.5em; -} -.main-content a { - overflow: hidden; - text-overflow: ellipsis; -} -.main-content ul, -.main-content ol { - padding-left: 1.5em; -} -.main-content li .highlight { - margin-top: 0.25rem; -} -.main-content ol { - list-style-type: none; - counter-reset: step-counter; -} -.main-content ol > li { - position: relative; -} -.main-content ol > li::before { - position: absolute; - top: 0.2em; - left: -1.6em; - color: #959396; - content: counter(step-counter); - counter-increment: step-counter; -} -.main-content ol > li::before { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - font-size: 0.875rem !important; - } -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - top: 0.11em; - } -} -.main-content ol > li ol { - counter-reset: sub-counter; -} -.main-content ol > li ol > li::before { - content: counter(sub-counter, lower-alpha); - counter-increment: sub-counter; -} -.main-content ul { - list-style: none; -} -.main-content ul > li::before { - position: absolute; - margin-left: -1.4em; - color: #959396; - content: "•"; -} -.main-content .task-list-item::before { - content: ""; -} -.main-content .task-list-item-checkbox { - margin-right: 0.6em; - margin-left: -1.4em; -} -.main-content hr + * { - margin-top: 0; -} -.main-content h1:first-of-type { - margin-top: 0.5em; -} -.main-content dl { - display: grid; - grid-template: auto/10em 1fr; -} -.main-content dt, -.main-content dd { - margin: 0.25em 0; -} -.main-content dt { - grid-column: 1; - font-weight: 500; - text-align: right; -} -.main-content dt::after { - content: ":"; -} -.main-content dd { - grid-column: 2; - margin-bottom: 0; - margin-left: 1em; -} -.main-content dd blockquote:first-child, -.main-content dd div:first-child, -.main-content dd dl:first-child, -.main-content dd dt:first-child, -.main-content dd h1:first-child, -.main-content dd h2:first-child, -.main-content dd h3:first-child, -.main-content dd h4:first-child, -.main-content dd h5:first-child, -.main-content dd h6:first-child, -.main-content dd li:first-child, -.main-content dd ol:first-child, -.main-content dd p:first-child, -.main-content dd pre:first-child, -.main-content dd table:first-child, -.main-content dd ul:first-child, -.main-content dd .table-wrapper:first-child { - margin-top: 0; -} -.main-content dd dl:first-child dt:first-child, -.main-content dd dl:first-child dd:nth-child(2), -.main-content ol dl:first-child dt:first-child, -.main-content ol dl:first-child dd:nth-child(2), -.main-content ul dl:first-child dt:first-child, -.main-content ul dl:first-child dd:nth-child(2) { - margin-top: 0; -} -.main-content .anchor-heading { - position: absolute; - right: -1rem; - width: 1.5rem; - height: 100%; - padding-right: 0.25rem; - padding-left: 0.25rem; - overflow: visible; -} -@media (min-width: 50rem) { - .main-content .anchor-heading { - right: auto; - left: -1.5rem; - } -} -.main-content .anchor-heading svg { - display: inline-block; - width: 100%; - height: 100%; - color: #7253ed; - visibility: hidden; -} -.main-content .anchor-heading:hover svg, -.main-content .anchor-heading:focus svg, -.main-content h1:hover > .anchor-heading svg, -.main-content h2:hover > .anchor-heading svg, -.main-content h3:hover > .anchor-heading svg, -.main-content h4:hover > .anchor-heading svg, -.main-content h5:hover > .anchor-heading svg, -.main-content h6:hover > .anchor-heading svg { - visibility: visible; -} -.main-content summary { - cursor: pointer; -} -.main-content h1, -.main-content h2, -.main-content h3, -.main-content h4, -.main-content h5, -.main-content h6, -.main-content #toctitle { - position: relative; - margin-top: 1.5em; - margin-bottom: 0.25em; -} -.main-content h1 + table, -.main-content h1 + .table-wrapper, -.main-content h1 + .code-example, -.main-content h1 + .highlighter-rouge, -.main-content h1 + .sectionbody .listingblock, -.main-content h2 + table, -.main-content h2 + .table-wrapper, -.main-content h2 + .code-example, -.main-content h2 + .highlighter-rouge, -.main-content h2 + .sectionbody .listingblock, -.main-content h3 + table, -.main-content h3 + .table-wrapper, -.main-content h3 + .code-example, -.main-content h3 + .highlighter-rouge, -.main-content h3 + .sectionbody .listingblock, -.main-content h4 + table, -.main-content h4 + .table-wrapper, -.main-content h4 + .code-example, -.main-content h4 + .highlighter-rouge, -.main-content h4 + .sectionbody .listingblock, -.main-content h5 + table, -.main-content h5 + .table-wrapper, -.main-content h5 + .code-example, -.main-content h5 + .highlighter-rouge, -.main-content h5 + .sectionbody .listingblock, -.main-content h6 + table, -.main-content h6 + .table-wrapper, -.main-content h6 + .code-example, -.main-content h6 + .highlighter-rouge, -.main-content h6 + .sectionbody .listingblock, -.main-content #toctitle + table, -.main-content #toctitle + .table-wrapper, -.main-content #toctitle + .code-example, -.main-content #toctitle + .highlighter-rouge, -.main-content #toctitle + .sectionbody .listingblock { - margin-top: 1em; -} -.main-content h1 + p:not(.label), -.main-content h2 + p:not(.label), -.main-content h3 + p:not(.label), -.main-content h4 + p:not(.label), -.main-content h5 + p:not(.label), -.main-content h6 + p:not(.label), -.main-content #toctitle + p:not(.label) { - margin-top: 0; -} -.main-content > h1:first-child, -.main-content > h2:first-child, -.main-content > h3:first-child, -.main-content > h4:first-child, -.main-content > h5:first-child, -.main-content > h6:first-child, -.main-content > .sect1:first-child > h2, -.main-content > .sect2:first-child > h3, -.main-content > .sect3:first-child > h4, -.main-content > .sect4:first-child > h5, -.main-content > .sect5:first-child > h6 { - margin-top: 0.5rem; -} - -.nav-list { - padding: 0; - margin-top: 0; - margin-bottom: 0; - list-style: none; -} -.nav-list .nav-list-item { - position: relative; - margin: 0; -} -.nav-list .nav-list-item { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .nav-list .nav-list-item { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 0.875rem !important; - } -} -.nav-list .nav-list-item .nav-list-link { - display: block; - min-height: 3rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - line-height: 2.5rem; - padding-right: 3rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-link { - min-height: 2rem; - line-height: 1.5rem; - padding-right: 2rem; - padding-left: 2rem; - } -} -.nav-list .nav-list-item .nav-list-link.external > svg { - width: 1rem; - height: 1rem; - vertical-align: text-bottom; -} -.nav-list .nav-list-item .nav-list-link.active { - font-weight: 600; - text-decoration: none; -} -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { - color: rgb(37.2848297214%, 23.4963880289%, 91.9938080495%); - background-image: linear-gradient(-90deg, rgb(92.0784313725%, 92.8705882353%, 96.0392156863%) 0%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0.8) 80%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0) 100%); -} -.nav-list .nav-list-item .nav-list-expander { - position: absolute; - right: 0; - width: 3rem; - height: 3rem; - padding: 0.75rem; - color: #7253ed; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-expander { - width: 2rem; - height: 2rem; - padding: 0.5rem; - } -} -.nav-list .nav-list-item .nav-list-expander:hover { - background-image: linear-gradient(-90deg, rgb(92.0784313725%, 92.8705882353%, 96.0392156863%) 0%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0.8) 100%); -} -.nav-list .nav-list-item .nav-list-expander svg { - transform: rotate(90deg); -} -.nav-list .nav-list-item > .nav-list { - display: none; - padding-left: 0.75rem; - list-style: none; -} -.nav-list .nav-list-item > .nav-list .nav-list-item { - position: relative; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { - color: #5c5962; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { - color: #5c5962; -} -.nav-list .nav-list-item.active > .nav-list-expander svg { - transform: rotate(-90deg); -} -.nav-list .nav-list-item.active > .nav-list { - display: block; -} - -.nav-category { - padding: 0.5rem 1rem; - font-weight: 600; - text-align: start; - text-transform: uppercase; - border-bottom: 1px solid #eeebee; -} -.nav-category { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .nav-category { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .nav-category { - padding: 0.5rem 2rem; - margin-top: 1rem; - text-align: start; - } - .nav-category:first-child { - margin-top: 0; - } -} - -.nav-list.nav-category-list > .nav-list-item { - margin: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list { - padding: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { - color: #7253ed; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { - color: #7253ed; -} - -.aux-nav { - height: 100%; - overflow-x: auto; -} -.aux-nav { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .aux-nav { - font-size: 0.75rem !important; - } -} -.aux-nav .aux-nav-list { - display: flex; - height: 100%; - padding: 0; - margin: 0; - list-style: none; -} -.aux-nav .aux-nav-list-item { - display: inline-block; - height: 100%; - padding: 0; - margin: 0; -} -@media (min-width: 50rem) { - .aux-nav { - padding-right: 1rem; - } -} - -@media (min-width: 50rem) { - .breadcrumb-nav { - margin-top: -1rem; - } -} - -.breadcrumb-nav-list { - padding-left: 0; - margin-bottom: 0.75rem; - list-style: none; -} - -.breadcrumb-nav-list-item { - display: table-cell; -} -.breadcrumb-nav-list-item { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .breadcrumb-nav-list-item { - font-size: 0.75rem !important; - } -} -.breadcrumb-nav-list-item::before { - display: none; -} -.breadcrumb-nav-list-item::after { - display: inline-block; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #959396; - content: "/"; -} -.breadcrumb-nav-list-item:last-child::after { - content: ""; -} - -h1, -.text-alpha { - font-weight: 300; -} -h1, -.text-alpha { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - h1, - .text-alpha { - font-size: 2.25rem !important; - } -} - -h2, -.text-beta, -#toctitle { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - h2, - .text-beta, - #toctitle { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -h3, -.text-gamma { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - h3, - .text-gamma { - font-size: 1.125rem !important; - } -} - -h4, -.text-delta { - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0.1em; -} -h4, -.text-delta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h4, - .text-delta { - font-size: 0.75rem !important; - } -} - -h4 code { - text-transform: none; -} - -h5, -.text-epsilon { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - h5, - .text-epsilon { - font-size: 0.875rem !important; - } -} - -h6, -.text-zeta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h6, - .text-zeta { - font-size: 0.75rem !important; - } -} - -.text-small { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .text-small { - font-size: 0.75rem !important; - } -} - -.text-mono { - font-family: "SFMono-Regular", menlo, consolas, monospace !important; -} - -.text-left { - text-align: left !important; -} - -.text-center { - text-align: center !important; -} - -.text-right { - text-align: right !important; -} - -.label:not(g), -.label-blue:not(g) { - display: inline-block; - padding: 0.16em 0.56em; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #fff; - text-transform: uppercase; - vertical-align: middle; - background-color: #2869e6; - border-radius: 12px; -} -.label:not(g), -.label-blue:not(g) { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .label:not(g), - .label-blue:not(g) { - font-size: 0.75rem !important; - } -} - -.label-green:not(g) { - background-color: #026e57; -} - -.label-purple:not(g) { - background-color: #5e41d0; -} - -.label-red:not(g) { - background-color: #dd2e2e; -} - -.label-yellow:not(g) { - color: #44434d; - background-color: #f7d12e; -} - -.btn { - display: inline-block; - box-sizing: border-box; - padding: 0.3em 1em; - margin: 0; - font-family: inherit; - font-size: inherit; - font-weight: 500; - line-height: 1.5; - color: #7253ed; - text-decoration: none; - vertical-align: baseline; - cursor: pointer; - background-color: #f7f7f7; - border-width: 0; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - appearance: none; -} -.btn:focus { - text-decoration: none; - outline: none; - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:focus:hover, .btn.selected:focus { - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:hover, .btn.zeroclipboard-is-hover { - color: rgb(41.7374613003%, 28.9279669763%, 92.5622291022%); -} -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { - text-decoration: none; - background-color: rgb(95.862745098%, 95.862745098%, 95.862745098%); -} -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { - background-color: rgb(93.862745098%, 93.862745098%, 93.862745098%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn.selected:hover { - background-color: rgb(81.2745098039%, 81.2745098039%, 81.2745098039%); -} -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { - color: rgba(102, 102, 102, 0.5); - cursor: default; - background-color: rgba(229, 229, 229, 0.5); - background-image: none; - box-shadow: none; -} - -.btn-outline { - color: #7253ed; - background: transparent; - box-shadow: inset 0 0 0 2px #e6e1e8; -} -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { - color: rgb(38.7690402477%, 25.3069143447%, 92.1832817337%); - text-decoration: none; - background-color: transparent; - box-shadow: inset 0 0 0 3px #e6e1e8; -} -.btn-outline:focus { - text-decoration: none; - outline: none; - box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn-outline:focus:hover, .btn-outline.selected:focus { - box-shadow: inset 0 0 0 2px #5c5962; -} - -.btn-primary { - color: #fff; - background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%); - background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%); - background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%)); -} -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { - background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-primary.selected:hover { - background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%); -} - -.btn-purple { - color: #fff; - background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%); - background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%); - background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%)); -} -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { - background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-purple.selected:hover { - background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%); -} - -.btn-blue { - color: #fff; - background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%); - background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%); - background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%)); -} -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { - background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-blue.selected:hover { - background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%); -} - -.btn-green { - color: #fff; - background-color: rgb(0.7128851541%, 39.2086834734%, 31.0105042017%); - background-image: linear-gradient(rgb(0.9628851541%, 52.9586834734%, 41.8855042017%), rgb(0.7128851541%, 39.2086834734%, 31.0105042017%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-green:hover, .btn-green.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(0.6414565826%, 35.2801120448%, 27.9033613445%); - background-image: linear-gradient(rgb(0.8557422969%, 47.0658263305%, 37.224789916%), rgb(0.6414565826%, 35.2801120448%, 27.9033613445%)); -} -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { - background-color: rgb(0.6057422969%, 33.3158263305%, 26.349789916%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-green.selected:hover { - background-color: rgb(0.4271708683%, 23.4943977591%, 18.5819327731%); -} - -.btn-reset { - background: none; - border: none; - margin: 0; - text-align: inherit; - font: inherit; - border-radius: 0; - appearance: none; -} - -.search { - position: relative; - z-index: 2; - flex-grow: 1; - height: 4rem; - padding: 0.5rem; - transition: padding linear 200ms; -} -@media (min-width: 50rem) { - .search { - position: relative !important; - width: auto !important; - height: 100% !important; - padding: 0; - transition: none; - } -} - -.search-input-wrap { - position: relative; - z-index: 1; - height: 3rem; - overflow: hidden; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - transition: height linear 200ms; -} -@media (min-width: 50rem) { - .search-input-wrap { - position: absolute; - width: 100%; - max-width: 33.5rem; - height: 100% !important; - border-radius: 0; - box-shadow: none; - transition: width ease 400ms; - } -} - -.search-input { - position: absolute; - width: 100%; - height: 100%; - padding: 0.5rem 1rem 0.5rem 2.5rem; - font-size: 1rem; - color: #5c5962; - background-color: #fff; - border-top: 0; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-input { - padding: 0.5rem 1rem 0.5rem 3.5rem; - font-size: 0.875rem; - background-color: #fff; - transition: padding-left linear 200ms; - } -} -.search-input:focus { - outline: 2px solid #7253ed; - outline-offset: -2px; -} -.search-input:focus + .search-label .search-icon { - color: #7253ed; -} - -.search-label { - position: absolute; - display: flex; - height: 100%; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .search-label { - padding-left: 2rem; - transition: padding-left linear 200ms; - } -} -.search-label .search-icon { - width: 1.2rem; - height: 1.2rem; - align-self: center; - color: #959396; -} - -.search-results { - position: absolute; - left: 0; - display: none; - width: 100%; - max-height: calc(100% - 4rem); - overflow-y: auto; - background-color: #fff; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} -@media (min-width: 50rem) { - .search-results { - top: 100%; - width: 33.5rem; - max-height: calc(100vh - 200%) !important; - } -} - -.search-results-list { - padding-left: 0; - margin-bottom: 0.25rem; - list-style: none; -} -.search-results-list { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .search-results-list { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .search-results-list { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-results-list { - font-size: 0.875rem !important; - } -} - -.search-results-list-item { - padding: 0; - margin: 0; -} - -.search-result { - display: block; - padding: 0.25rem 0.75rem; -} -.search-result:hover, .search-result.active { - background-color: rgb(92.0784313725%, 92.8705882353%, 96.0392156863%); -} - -.search-result-title { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -@media (min-width: 31.25rem) { - .search-result-title { - display: inline-block; - width: 40%; - padding-right: 0.5rem; - vertical-align: top; - } -} - -.search-result-doc { - display: flex; - align-items: center; - word-wrap: break-word; -} -.search-result-doc.search-result-doc-parent { - opacity: 0.5; -} -.search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.875rem !important; - } -} -@media (min-width: 50rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.6875rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; - } -} -.search-result-doc .search-result-icon { - width: 1rem; - height: 1rem; - margin-right: 0.5rem; - color: #7253ed; - flex-shrink: 0; -} -.search-result-doc .search-result-doc-title { - overflow: auto; -} - -.search-result-section { - margin-left: 1.5rem; - word-wrap: break-word; -} - -.search-result-rel-url { - display: block; - margin-left: 1.5rem; - overflow: hidden; - color: #5c5962; - text-overflow: ellipsis; - white-space: nowrap; -} -.search-result-rel-url { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .search-result-rel-url { - font-size: 0.625rem !important; - } -} - -.search-result-previews { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - margin-left: 0.5rem; - color: #5c5962; - word-wrap: break-word; - border-left: 1px solid; - border-left-color: #eeebee; -} -.search-result-previews { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .search-result-previews { - font-size: 0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .search-result-previews { - display: inline-block; - width: 60%; - padding-left: 0.5rem; - margin-left: 0; - vertical-align: top; - } -} - -.search-result-preview + .search-result-preview { - margin-top: 0.25rem; -} - -.search-result-highlight { - font-weight: bold; -} - -.search-no-result { - padding: 0.5rem 0.75rem; -} -.search-no-result { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-no-result { - font-size: 0.875rem !important; - } -} - -.search-button { - position: fixed; - right: 1rem; - bottom: 1rem; - display: flex; - width: 3.5rem; - height: 3.5rem; - background-color: #fff; - border: 1px solid rgba(114, 83, 237, 0.3); - border-radius: 1.75rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - align-items: center; - justify-content: center; -} - -.search-overlay { - position: fixed; - top: 0; - left: 0; - z-index: 1; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.3); - opacity: 0; - transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; -} - -.search-active .search { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; -} -.search-active .search-input-wrap { - height: 4rem; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-active .search-input-wrap { - width: 33.5rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - } -} -.search-active .search-input { - background-color: #fff; -} -@media (min-width: 50rem) { - .search-active .search-input { - padding-left: 2.3rem; - } -} -@media (min-width: 50rem) { - .search-active .search-label { - padding-left: 0.6rem; - } -} -.search-active .search-results { - display: block; -} -.search-active .search-overlay { - width: 100%; - height: 100%; - opacity: 1; - transition: opacity ease 400ms, width 0s, height 0s; -} -@media (min-width: 50rem) { - .search-active .main { - position: fixed; - right: 0; - left: 0; - } -} -.search-active .main-header { - padding-top: 4rem; -} -@media (min-width: 50rem) { - .search-active .main-header { - padding-top: 0; - } -} - -.table-wrapper { - display: block; - width: 100%; - max-width: 100%; - margin-bottom: 1.5rem; - overflow-x: auto; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} - -table { - display: table; - min-width: 100%; - border-collapse: separate; -} - -th, -td { - min-width: 7.5rem; - padding: 0.5rem 0.75rem; - background-color: #fff; - border-bottom: 1px solid rgba(238, 235, 238, 0.5); - border-left: 1px solid #eeebee; -} -th, -td { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - th, - td { - font-size: 0.875rem !important; - } -} -th:first-of-type, -td:first-of-type { - border-left: 0; -} - -tbody tr:last-of-type th, -tbody tr:last-of-type td { - border-bottom: 0; -} -tbody tr:last-of-type td { - padding-bottom: 0.75rem; -} - -thead th { - border-bottom: 1px solid #eeebee; -} - -:not(pre, figure) > code { - padding: 0.2em 0.15em; - font-weight: 400; - background-color: #fff; - border: 1px solid #eeebee; - border-radius: 4px; -} - -a:visited code { - border-color: #eeebee; -} - -div.highlighter-rouge, -div.listingblock > div.content, -figure.highlight { - margin-top: 0; - margin-bottom: 0.75rem; - background-color: #fff; - border-radius: 4px; - box-shadow: none; - -webkit-overflow-scrolling: touch; - position: relative; - padding: 0; -} -div.highlighter-rouge > button, -div.listingblock > div.content > button, -figure.highlight > button { - width: 0.75rem; - opacity: 0; - position: absolute; - top: 0; - right: 0; - padding: 0.75rem; - border: none; - background: none; - color: #5c5962; - box-sizing: content-box; -} -div.highlighter-rouge > button svg, -div.listingblock > div.content > button svg, -figure.highlight > button svg { - fill: #5c5962; -} -div.highlighter-rouge > button:active, -div.listingblock > div.content > button:active, -figure.highlight > button:active { - text-decoration: none; - outline: none; - opacity: 1; -} -div.highlighter-rouge > button:focus, -div.listingblock > div.content > button:focus, -figure.highlight > button:focus { - opacity: 1; - outline: 2px solid #7253ed; -} -div.highlighter-rouge:hover > button, -div.listingblock > div.content:hover > button, -figure.highlight:hover > button { - cursor: copy; - opacity: 1; -} - -div.highlighter-rouge div.highlight { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #5c5962; - border-radius: 4px; -} -div.highlighter-rouge pre.highlight, -div.highlighter-rouge code { - padding: 0; - margin: 0; - border: 0; -} - -div.listingblock { - margin-top: 0; - margin-bottom: 0.75rem; -} -div.listingblock div.content { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #5c5962; - border-radius: 4px; -} -div.listingblock div.content > pre, -div.listingblock code { - padding: 0; - margin: 0; - border: 0; -} - -figure.highlight pre, -figure.highlight :not(pre) > code { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #5c5962; - border-radius: 4px; -} - -.highlight .table-wrapper { - padding: 0.75rem 0; - margin: 0; - border: 0; - box-shadow: none; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - min-width: 0; - padding: 0; - background-color: #fff; - border: 0; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .highlight .table-wrapper td, - .highlight .table-wrapper pre { - font-size: 0.75rem !important; - } -} -.highlight .table-wrapper td.gl { - width: 1em; - padding-right: 0.75rem; - padding-left: 0.75rem; -} -.highlight .table-wrapper pre { - margin: 0; - line-height: 2; -} - -.code-example, -.listingblock > .title { - padding: 0.75rem; - margin-bottom: 0.75rem; - overflow: auto; - border: 1px solid #eeebee; - border-radius: 4px; -} -.code-example + .highlighter-rouge, -.code-example + .sectionbody .listingblock, -.code-example + .content, -.code-example + figure.highlight, -.listingblock > .title + .highlighter-rouge, -.listingblock > .title + .sectionbody .listingblock, -.listingblock > .title + .content, -.listingblock > .title + figure.highlight { - position: relative; - margin-top: -1rem; - border-right: 1px solid #eeebee; - border-bottom: 1px solid #eeebee; - border-left: 1px solid #eeebee; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -code.language-mermaid { - padding: 0; - background-color: inherit; - border: 0; -} - -.highlight, -pre.highlight { - background: #fff; - color: #5c5962; -} - -.highlight pre { - background: #fff; -} - -.text-grey-dk-000 { - color: #959396 !important; -} - -.text-grey-dk-100 { - color: #5c5962 !important; -} - -.text-grey-dk-200 { - color: #44434d !important; -} - -.text-grey-dk-250 { - color: #302d36 !important; -} - -.text-grey-dk-300 { - color: #27262b !important; -} - -.text-grey-lt-000 { - color: #f5f6fa !important; -} - -.text-grey-lt-100 { - color: #eeebee !important; -} - -.text-grey-lt-200 { - color: #ecebed !important; -} - -.text-grey-lt-300 { - color: #e6e1e8 !important; -} - -.text-blue-000 { - color: #2c84fa !important; -} - -.text-blue-100 { - color: #2869e6 !important; -} - -.text-blue-200 { - color: #264caf !important; -} - -.text-blue-300 { - color: #183385 !important; -} - -.text-green-000 { - color: #41d693 !important; -} - -.text-green-100 { - color: #11b584 !important; -} - -.text-green-200 { - color: #009c7b !important; -} - -.text-green-300 { - color: #026e57 !important; -} - -.text-purple-000 { - color: #7253ed !important; -} - -.text-purple-100 { - color: #5e41d0 !important; -} - -.text-purple-200 { - color: #4e26af !important; -} - -.text-purple-300 { - color: #381885 !important; -} - -.text-yellow-000 { - color: #ffeb82 !important; -} - -.text-yellow-100 { - color: #fadf50 !important; -} - -.text-yellow-200 { - color: #f7d12e !important; -} - -.text-yellow-300 { - color: #e7af06 !important; -} - -.text-red-000 { - color: #f77e7e !important; -} - -.text-red-100 { - color: #f96e65 !important; -} - -.text-red-200 { - color: #e94c4c !important; -} - -.text-red-300 { - color: #dd2e2e !important; -} - -.bg-grey-dk-000 { - background-color: #959396 !important; -} - -.bg-grey-dk-100 { - background-color: #5c5962 !important; -} - -.bg-grey-dk-200 { - background-color: #44434d !important; -} - -.bg-grey-dk-250 { - background-color: #302d36 !important; -} - -.bg-grey-dk-300 { - background-color: #27262b !important; -} - -.bg-grey-lt-000 { - background-color: #f5f6fa !important; -} - -.bg-grey-lt-100 { - background-color: #eeebee !important; -} - -.bg-grey-lt-200 { - background-color: #ecebed !important; -} - -.bg-grey-lt-300 { - background-color: #e6e1e8 !important; -} - -.bg-blue-000 { - background-color: #2c84fa !important; -} - -.bg-blue-100 { - background-color: #2869e6 !important; -} - -.bg-blue-200 { - background-color: #264caf !important; -} - -.bg-blue-300 { - background-color: #183385 !important; -} - -.bg-green-000 { - background-color: #41d693 !important; -} - -.bg-green-100 { - background-color: #11b584 !important; -} - -.bg-green-200 { - background-color: #009c7b !important; -} - -.bg-green-300 { - background-color: #026e57 !important; -} - -.bg-purple-000 { - background-color: #7253ed !important; -} - -.bg-purple-100 { - background-color: #5e41d0 !important; -} - -.bg-purple-200 { - background-color: #4e26af !important; -} - -.bg-purple-300 { - background-color: #381885 !important; -} - -.bg-yellow-000 { - background-color: #ffeb82 !important; -} - -.bg-yellow-100 { - background-color: #fadf50 !important; -} - -.bg-yellow-200 { - background-color: #f7d12e !important; -} - -.bg-yellow-300 { - background-color: #e7af06 !important; -} - -.bg-red-000 { - background-color: #f77e7e !important; -} - -.bg-red-100 { - background-color: #f96e65 !important; -} - -.bg-red-200 { - background-color: #e94c4c !important; -} - -.bg-red-300 { - background-color: #dd2e2e !important; -} - -.d-block { - display: block !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-none { - display: none !important; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.flex-justify-start { - justify-content: flex-start !important; -} - -.flex-justify-end { - justify-content: flex-end !important; -} - -.flex-justify-between { - justify-content: space-between !important; -} - -.flex-justify-around { - justify-content: space-around !important; -} - -.v-align-baseline { - vertical-align: baseline !important; -} - -.v-align-bottom { - vertical-align: bottom !important; -} - -.v-align-middle { - vertical-align: middle !important; -} - -.v-align-text-bottom { - vertical-align: text-bottom !important; -} - -.v-align-text-top { - vertical-align: text-top !important; -} - -.v-align-top { - vertical-align: top !important; -} - -.fs-1 { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .fs-1 { - font-size: 0.625rem !important; - } -} - -.fs-2 { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .fs-2 { - font-size: 0.75rem !important; - } -} - -.fs-3 { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .fs-3 { - font-size: 0.875rem !important; - } -} - -.fs-4 { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .fs-4 { - font-size: 1rem !important; - } -} - -.fs-5 { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - .fs-5 { - font-size: 1.125rem !important; - } -} - -.fs-6 { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .fs-6 { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -.fs-7 { - font-size: 1.5rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-7 { - font-size: 2rem !important; - } -} - -.fs-8 { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-8 { - font-size: 2.25rem !important; - } -} - -.fs-9 { - font-size: 2.25rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-9 { - font-size: 2.625rem !important; - } -} - -.fs-10 { - font-size: 2.625rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-10 { - font-size: 3rem !important; - } -} - -.fw-300 { - font-weight: 300 !important; -} - -.fw-400 { - font-weight: 400 !important; -} - -.fw-500 { - font-weight: 500 !important; -} - -.fw-700 { - font-weight: 700 !important; -} - -.lh-0 { - line-height: 0 !important; -} - -.lh-default { - line-height: 1.4; -} - -.lh-tight { - line-height: 1.25; -} - -.ls-5 { - letter-spacing: 0.05em !important; -} - -.ls-10 { - letter-spacing: 0.1em !important; -} - -.ls-0 { - letter-spacing: 0 !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.list-style-none { - padding: 0 !important; - margin: 0 !important; - list-style: none !important; -} -.list-style-none li::before { - display: none !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.mxn-0 { - margin-right: -0 !important; - margin-left: -0 !important; -} - -.mx-0-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.mxn-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; -} - -.mx-1-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.mxn-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; -} - -.mx-2-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-3 { - margin: 0.75rem !important; -} - -.mt-3 { - margin-top: 0.75rem !important; -} - -.mr-3 { - margin-right: 0.75rem !important; -} - -.mb-3 { - margin-bottom: 0.75rem !important; -} - -.ml-3 { - margin-left: 0.75rem !important; -} - -.mx-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; -} - -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} - -.mxn-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; -} - -.mx-3-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-4 { - margin: 1rem !important; -} - -.mt-4 { - margin-top: 1rem !important; -} - -.mr-4 { - margin-right: 1rem !important; -} - -.mb-4 { - margin-bottom: 1rem !important; -} - -.ml-4 { - margin-left: 1rem !important; -} - -.mx-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.mxn-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; -} - -.mx-4-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-5 { - margin: 1.5rem !important; -} - -.mt-5 { - margin-top: 1.5rem !important; -} - -.mr-5 { - margin-right: 1.5rem !important; -} - -.mb-5 { - margin-bottom: 1.5rem !important; -} - -.ml-5 { - margin-left: 1.5rem !important; -} - -.mx-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.mxn-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; -} - -.mx-5-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-6 { - margin: 2rem !important; -} - -.mt-6 { - margin-top: 2rem !important; -} - -.mr-6 { - margin-right: 2rem !important; -} - -.mb-6 { - margin-bottom: 2rem !important; -} - -.ml-6 { - margin-left: 2rem !important; -} - -.mx-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; -} - -.my-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.mxn-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; -} - -.mx-6-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-7 { - margin: 2.5rem !important; -} - -.mt-7 { - margin-top: 2.5rem !important; -} - -.mr-7 { - margin-right: 2.5rem !important; -} - -.mb-7 { - margin-bottom: 2.5rem !important; -} - -.ml-7 { - margin-left: 2.5rem !important; -} - -.mx-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; -} - -.my-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; -} - -.mxn-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; -} - -.mx-7-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-8 { - margin: 3rem !important; -} - -.mt-8 { - margin-top: 3rem !important; -} - -.mr-8 { - margin-right: 3rem !important; -} - -.mb-8 { - margin-bottom: 3rem !important; -} - -.ml-8 { - margin-left: 3rem !important; -} - -.mx-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.mxn-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; -} - -.mx-8-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-9 { - margin: 3.5rem !important; -} - -.mt-9 { - margin-top: 3.5rem !important; -} - -.mr-9 { - margin-right: 3.5rem !important; -} - -.mb-9 { - margin-bottom: 3.5rem !important; -} - -.ml-9 { - margin-left: 3.5rem !important; -} - -.mx-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; -} - -.my-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; -} - -.mxn-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; -} - -.mx-9-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-10 { - margin: 4rem !important; -} - -.mt-10 { - margin-top: 4rem !important; -} - -.mr-10 { - margin-right: 4rem !important; -} - -.mb-10 { - margin-bottom: 4rem !important; -} - -.ml-10 { - margin-left: 4rem !important; -} - -.mx-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; -} - -.my-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.mxn-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; -} - -.mx-10-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -@media (min-width: 20rem) { - .m-xs-0 { - margin: 0 !important; - } - .mt-xs-0 { - margin-top: 0 !important; - } - .mr-xs-0 { - margin-right: 0 !important; - } - .mb-xs-0 { - margin-bottom: 0 !important; - } - .ml-xs-0 { - margin-left: 0 !important; - } - .mx-xs-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xs-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xs-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 20rem) { - .m-xs-1 { - margin: 0.25rem !important; - } - .mt-xs-1 { - margin-top: 0.25rem !important; - } - .mr-xs-1 { - margin-right: 0.25rem !important; - } - .mb-xs-1 { - margin-bottom: 0.25rem !important; - } - .ml-xs-1 { - margin-left: 0.25rem !important; - } - .mx-xs-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xs-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xs-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-2 { - margin: 0.5rem !important; - } - .mt-xs-2 { - margin-top: 0.5rem !important; - } - .mr-xs-2 { - margin-right: 0.5rem !important; - } - .mb-xs-2 { - margin-bottom: 0.5rem !important; - } - .ml-xs-2 { - margin-left: 0.5rem !important; - } - .mx-xs-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xs-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xs-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-3 { - margin: 0.75rem !important; - } - .mt-xs-3 { - margin-top: 0.75rem !important; - } - .mr-xs-3 { - margin-right: 0.75rem !important; - } - .mb-xs-3 { - margin-bottom: 0.75rem !important; - } - .ml-xs-3 { - margin-left: 0.75rem !important; - } - .mx-xs-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xs-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xs-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-4 { - margin: 1rem !important; - } - .mt-xs-4 { - margin-top: 1rem !important; - } - .mr-xs-4 { - margin-right: 1rem !important; - } - .mb-xs-4 { - margin-bottom: 1rem !important; - } - .ml-xs-4 { - margin-left: 1rem !important; - } - .mx-xs-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xs-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xs-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-5 { - margin: 1.5rem !important; - } - .mt-xs-5 { - margin-top: 1.5rem !important; - } - .mr-xs-5 { - margin-right: 1.5rem !important; - } - .mb-xs-5 { - margin-bottom: 1.5rem !important; - } - .ml-xs-5 { - margin-left: 1.5rem !important; - } - .mx-xs-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xs-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xs-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-6 { - margin: 2rem !important; - } - .mt-xs-6 { - margin-top: 2rem !important; - } - .mr-xs-6 { - margin-right: 2rem !important; - } - .mb-xs-6 { - margin-bottom: 2rem !important; - } - .ml-xs-6 { - margin-left: 2rem !important; - } - .mx-xs-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xs-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xs-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-7 { - margin: 2.5rem !important; - } - .mt-xs-7 { - margin-top: 2.5rem !important; - } - .mr-xs-7 { - margin-right: 2.5rem !important; - } - .mb-xs-7 { - margin-bottom: 2.5rem !important; - } - .ml-xs-7 { - margin-left: 2.5rem !important; - } - .mx-xs-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xs-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xs-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-8 { - margin: 3rem !important; - } - .mt-xs-8 { - margin-top: 3rem !important; - } - .mr-xs-8 { - margin-right: 3rem !important; - } - .mb-xs-8 { - margin-bottom: 3rem !important; - } - .ml-xs-8 { - margin-left: 3rem !important; - } - .mx-xs-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xs-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xs-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-9 { - margin: 3.5rem !important; - } - .mt-xs-9 { - margin-top: 3.5rem !important; - } - .mr-xs-9 { - margin-right: 3.5rem !important; - } - .mb-xs-9 { - margin-bottom: 3.5rem !important; - } - .ml-xs-9 { - margin-left: 3.5rem !important; - } - .mx-xs-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xs-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xs-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-10 { - margin: 4rem !important; - } - .mt-xs-10 { - margin-top: 4rem !important; - } - .mr-xs-10 { - margin-right: 4rem !important; - } - .mb-xs-10 { - margin-bottom: 4rem !important; - } - .ml-xs-10 { - margin-left: 4rem !important; - } - .mx-xs-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xs-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xs-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-sm-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-sm-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-sm-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-3 { - margin: 0.75rem !important; - } - .mt-sm-3 { - margin-top: 0.75rem !important; - } - .mr-sm-3 { - margin-right: 0.75rem !important; - } - .mb-sm-3 { - margin-bottom: 0.75rem !important; - } - .ml-sm-3 { - margin-left: 0.75rem !important; - } - .mx-sm-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-sm-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-sm-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-4 { - margin: 1rem !important; - } - .mt-sm-4 { - margin-top: 1rem !important; - } - .mr-sm-4 { - margin-right: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 1rem !important; - } - .ml-sm-4 { - margin-left: 1rem !important; - } - .mx-sm-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-sm-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-5 { - margin: 1.5rem !important; - } - .mt-sm-5 { - margin-top: 1.5rem !important; - } - .mr-sm-5 { - margin-right: 1.5rem !important; - } - .mb-sm-5 { - margin-bottom: 1.5rem !important; - } - .ml-sm-5 { - margin-left: 1.5rem !important; - } - .mx-sm-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-sm-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-6 { - margin: 2rem !important; - } - .mt-sm-6 { - margin-top: 2rem !important; - } - .mr-sm-6 { - margin-right: 2rem !important; - } - .mb-sm-6 { - margin-bottom: 2rem !important; - } - .ml-sm-6 { - margin-left: 2rem !important; - } - .mx-sm-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-sm-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-sm-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-7 { - margin: 2.5rem !important; - } - .mt-sm-7 { - margin-top: 2.5rem !important; - } - .mr-sm-7 { - margin-right: 2.5rem !important; - } - .mb-sm-7 { - margin-bottom: 2.5rem !important; - } - .ml-sm-7 { - margin-left: 2.5rem !important; - } - .mx-sm-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-sm-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-sm-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-8 { - margin: 3rem !important; - } - .mt-sm-8 { - margin-top: 3rem !important; - } - .mr-sm-8 { - margin-right: 3rem !important; - } - .mb-sm-8 { - margin-bottom: 3rem !important; - } - .ml-sm-8 { - margin-left: 3rem !important; - } - .mx-sm-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-sm-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-9 { - margin: 3.5rem !important; - } - .mt-sm-9 { - margin-top: 3.5rem !important; - } - .mr-sm-9 { - margin-right: 3.5rem !important; - } - .mb-sm-9 { - margin-bottom: 3.5rem !important; - } - .ml-sm-9 { - margin-left: 3.5rem !important; - } - .mx-sm-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-sm-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-sm-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-10 { - margin: 4rem !important; - } - .mt-sm-10 { - margin-top: 4rem !important; - } - .mr-sm-10 { - margin-right: 4rem !important; - } - .mb-sm-10 { - margin-bottom: 4rem !important; - } - .ml-sm-10 { - margin-left: 4rem !important; - } - .mx-sm-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-sm-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-sm-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 50rem) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-md-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 50rem) { - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-md-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 50rem) { - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-md-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-3 { - margin: 0.75rem !important; - } - .mt-md-3 { - margin-top: 0.75rem !important; - } - .mr-md-3 { - margin-right: 0.75rem !important; - } - .mb-md-3 { - margin-bottom: 0.75rem !important; - } - .ml-md-3 { - margin-left: 0.75rem !important; - } - .mx-md-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-md-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-md-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 50rem) { - .m-md-4 { - margin: 1rem !important; - } - .mt-md-4 { - margin-top: 1rem !important; - } - .mr-md-4 { - margin-right: 1rem !important; - } - .mb-md-4 { - margin-bottom: 1rem !important; - } - .ml-md-4 { - margin-left: 1rem !important; - } - .mx-md-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-md-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 50rem) { - .m-md-5 { - margin: 1.5rem !important; - } - .mt-md-5 { - margin-top: 1.5rem !important; - } - .mr-md-5 { - margin-right: 1.5rem !important; - } - .mb-md-5 { - margin-bottom: 1.5rem !important; - } - .ml-md-5 { - margin-left: 1.5rem !important; - } - .mx-md-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-md-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-6 { - margin: 2rem !important; - } - .mt-md-6 { - margin-top: 2rem !important; - } - .mr-md-6 { - margin-right: 2rem !important; - } - .mb-md-6 { - margin-bottom: 2rem !important; - } - .ml-md-6 { - margin-left: 2rem !important; - } - .mx-md-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-md-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-md-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 50rem) { - .m-md-7 { - margin: 2.5rem !important; - } - .mt-md-7 { - margin-top: 2.5rem !important; - } - .mr-md-7 { - margin-right: 2.5rem !important; - } - .mb-md-7 { - margin-bottom: 2.5rem !important; - } - .ml-md-7 { - margin-left: 2.5rem !important; - } - .mx-md-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-md-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-md-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-8 { - margin: 3rem !important; - } - .mt-md-8 { - margin-top: 3rem !important; - } - .mr-md-8 { - margin-right: 3rem !important; - } - .mb-md-8 { - margin-bottom: 3rem !important; - } - .ml-md-8 { - margin-left: 3rem !important; - } - .mx-md-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-md-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 50rem) { - .m-md-9 { - margin: 3.5rem !important; - } - .mt-md-9 { - margin-top: 3.5rem !important; - } - .mr-md-9 { - margin-right: 3.5rem !important; - } - .mb-md-9 { - margin-bottom: 3.5rem !important; - } - .ml-md-9 { - margin-left: 3.5rem !important; - } - .mx-md-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-md-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-md-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-10 { - margin: 4rem !important; - } - .mt-md-10 { - margin-top: 4rem !important; - } - .mr-md-10 { - margin-right: 4rem !important; - } - .mb-md-10 { - margin-bottom: 4rem !important; - } - .ml-md-10 { - margin-left: 4rem !important; - } - .mx-md-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-md-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-md-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-lg-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-lg-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-lg-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-3 { - margin: 0.75rem !important; - } - .mt-lg-3 { - margin-top: 0.75rem !important; - } - .mr-lg-3 { - margin-right: 0.75rem !important; - } - .mb-lg-3 { - margin-bottom: 0.75rem !important; - } - .ml-lg-3 { - margin-left: 0.75rem !important; - } - .mx-lg-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-lg-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-lg-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-4 { - margin: 1rem !important; - } - .mt-lg-4 { - margin-top: 1rem !important; - } - .mr-lg-4 { - margin-right: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 1rem !important; - } - .ml-lg-4 { - margin-left: 1rem !important; - } - .mx-lg-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-lg-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-5 { - margin: 1.5rem !important; - } - .mt-lg-5 { - margin-top: 1.5rem !important; - } - .mr-lg-5 { - margin-right: 1.5rem !important; - } - .mb-lg-5 { - margin-bottom: 1.5rem !important; - } - .ml-lg-5 { - margin-left: 1.5rem !important; - } - .mx-lg-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-lg-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-6 { - margin: 2rem !important; - } - .mt-lg-6 { - margin-top: 2rem !important; - } - .mr-lg-6 { - margin-right: 2rem !important; - } - .mb-lg-6 { - margin-bottom: 2rem !important; - } - .ml-lg-6 { - margin-left: 2rem !important; - } - .mx-lg-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-lg-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-lg-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-7 { - margin: 2.5rem !important; - } - .mt-lg-7 { - margin-top: 2.5rem !important; - } - .mr-lg-7 { - margin-right: 2.5rem !important; - } - .mb-lg-7 { - margin-bottom: 2.5rem !important; - } - .ml-lg-7 { - margin-left: 2.5rem !important; - } - .mx-lg-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-lg-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-lg-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-8 { - margin: 3rem !important; - } - .mt-lg-8 { - margin-top: 3rem !important; - } - .mr-lg-8 { - margin-right: 3rem !important; - } - .mb-lg-8 { - margin-bottom: 3rem !important; - } - .ml-lg-8 { - margin-left: 3rem !important; - } - .mx-lg-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-lg-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-9 { - margin: 3.5rem !important; - } - .mt-lg-9 { - margin-top: 3.5rem !important; - } - .mr-lg-9 { - margin-right: 3.5rem !important; - } - .mb-lg-9 { - margin-bottom: 3.5rem !important; - } - .ml-lg-9 { - margin-left: 3.5rem !important; - } - .mx-lg-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-lg-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-lg-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-10 { - margin: 4rem !important; - } - .mt-lg-10 { - margin-top: 4rem !important; - } - .mr-lg-10 { - margin-right: 4rem !important; - } - .mb-lg-10 { - margin-bottom: 4rem !important; - } - .ml-lg-10 { - margin-left: 4rem !important; - } - .mx-lg-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-lg-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-lg-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xl-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xl-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xl-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-3 { - margin: 0.75rem !important; - } - .mt-xl-3 { - margin-top: 0.75rem !important; - } - .mr-xl-3 { - margin-right: 0.75rem !important; - } - .mb-xl-3 { - margin-bottom: 0.75rem !important; - } - .ml-xl-3 { - margin-left: 0.75rem !important; - } - .mx-xl-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xl-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xl-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-4 { - margin: 1rem !important; - } - .mt-xl-4 { - margin-top: 1rem !important; - } - .mr-xl-4 { - margin-right: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 1rem !important; - } - .ml-xl-4 { - margin-left: 1rem !important; - } - .mx-xl-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xl-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-5 { - margin: 1.5rem !important; - } - .mt-xl-5 { - margin-top: 1.5rem !important; - } - .mr-xl-5 { - margin-right: 1.5rem !important; - } - .mb-xl-5 { - margin-bottom: 1.5rem !important; - } - .ml-xl-5 { - margin-left: 1.5rem !important; - } - .mx-xl-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xl-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-6 { - margin: 2rem !important; - } - .mt-xl-6 { - margin-top: 2rem !important; - } - .mr-xl-6 { - margin-right: 2rem !important; - } - .mb-xl-6 { - margin-bottom: 2rem !important; - } - .ml-xl-6 { - margin-left: 2rem !important; - } - .mx-xl-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xl-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xl-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-7 { - margin: 2.5rem !important; - } - .mt-xl-7 { - margin-top: 2.5rem !important; - } - .mr-xl-7 { - margin-right: 2.5rem !important; - } - .mb-xl-7 { - margin-bottom: 2.5rem !important; - } - .ml-xl-7 { - margin-left: 2.5rem !important; - } - .mx-xl-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xl-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xl-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-8 { - margin: 3rem !important; - } - .mt-xl-8 { - margin-top: 3rem !important; - } - .mr-xl-8 { - margin-right: 3rem !important; - } - .mb-xl-8 { - margin-bottom: 3rem !important; - } - .ml-xl-8 { - margin-left: 3rem !important; - } - .mx-xl-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xl-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-9 { - margin: 3.5rem !important; - } - .mt-xl-9 { - margin-top: 3.5rem !important; - } - .mr-xl-9 { - margin-right: 3.5rem !important; - } - .mb-xl-9 { - margin-bottom: 3.5rem !important; - } - .ml-xl-9 { - margin-left: 3.5rem !important; - } - .mx-xl-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xl-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xl-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-10 { - margin: 4rem !important; - } - .mt-xl-10 { - margin-top: 4rem !important; - } - .mr-xl-10 { - margin-right: 4rem !important; - } - .mb-xl-10 { - margin-bottom: 4rem !important; - } - .ml-xl-10 { - margin-left: 4rem !important; - } - .mx-xl-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xl-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xl-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -.p-0 { - padding: 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 0.75rem !important; -} - -.pt-3 { - padding-top: 0.75rem !important; -} - -.pr-3 { - padding-right: 0.75rem !important; -} - -.pb-3 { - padding-bottom: 0.75rem !important; -} - -.pl-3 { - padding-left: 0.75rem !important; -} - -.px-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; -} - -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} - -.p-4 { - padding: 1rem !important; -} - -.pt-4 { - padding-top: 1rem !important; -} - -.pr-4 { - padding-right: 1rem !important; -} - -.pb-4 { - padding-bottom: 1rem !important; -} - -.pl-4 { - padding-left: 1rem !important; -} - -.px-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-5 { - padding: 1.5rem !important; -} - -.pt-5 { - padding-top: 1.5rem !important; -} - -.pr-5 { - padding-right: 1.5rem !important; -} - -.pb-5 { - padding-bottom: 1.5rem !important; -} - -.pl-5 { - padding-left: 1.5rem !important; -} - -.px-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-6 { - padding: 2rem !important; -} - -.pt-6 { - padding-top: 2rem !important; -} - -.pr-6 { - padding-right: 2rem !important; -} - -.pb-6 { - padding-bottom: 2rem !important; -} - -.pl-6 { - padding-left: 2rem !important; -} - -.px-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; -} - -.py-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.p-7 { - padding: 2.5rem !important; -} - -.pt-7 { - padding-top: 2.5rem !important; -} - -.pr-7 { - padding-right: 2.5rem !important; -} - -.pb-7 { - padding-bottom: 2.5rem !important; -} - -.pl-7 { - padding-left: 2.5rem !important; -} - -.px-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; -} - -.py-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; -} - -.p-8 { - padding: 3rem !important; -} - -.pt-8 { - padding-top: 3rem !important; -} - -.pr-8 { - padding-right: 3rem !important; -} - -.pb-8 { - padding-bottom: 3rem !important; -} - -.pl-8 { - padding-left: 3rem !important; -} - -.px-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.p-9 { - padding: 3.5rem !important; -} - -.pt-9 { - padding-top: 3.5rem !important; -} - -.pr-9 { - padding-right: 3.5rem !important; -} - -.pb-9 { - padding-bottom: 3.5rem !important; -} - -.pl-9 { - padding-left: 3.5rem !important; -} - -.px-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; -} - -.py-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; -} - -.p-10 { - padding: 4rem !important; -} - -.pt-10 { - padding-top: 4rem !important; -} - -.pr-10 { - padding-right: 4rem !important; -} - -.pb-10 { - padding-bottom: 4rem !important; -} - -.pl-10 { - padding-left: 4rem !important; -} - -.px-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; -} - -.py-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -@media (min-width: 20rem) { - .p-xs-0 { - padding: 0 !important; - } - .pt-xs-0 { - padding-top: 0 !important; - } - .pr-xs-0 { - padding-right: 0 !important; - } - .pb-xs-0 { - padding-bottom: 0 !important; - } - .pl-xs-0 { - padding-left: 0 !important; - } - .px-xs-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xs-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xs-1 { - padding: 0.25rem !important; - } - .pt-xs-1 { - padding-top: 0.25rem !important; - } - .pr-xs-1 { - padding-right: 0.25rem !important; - } - .pb-xs-1 { - padding-bottom: 0.25rem !important; - } - .pl-xs-1 { - padding-left: 0.25rem !important; - } - .px-xs-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xs-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xs-2 { - padding: 0.5rem !important; - } - .pt-xs-2 { - padding-top: 0.5rem !important; - } - .pr-xs-2 { - padding-right: 0.5rem !important; - } - .pb-xs-2 { - padding-bottom: 0.5rem !important; - } - .pl-xs-2 { - padding-left: 0.5rem !important; - } - .px-xs-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xs-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xs-3 { - padding: 0.75rem !important; - } - .pt-xs-3 { - padding-top: 0.75rem !important; - } - .pr-xs-3 { - padding-right: 0.75rem !important; - } - .pb-xs-3 { - padding-bottom: 0.75rem !important; - } - .pl-xs-3 { - padding-left: 0.75rem !important; - } - .px-xs-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xs-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xs-4 { - padding: 1rem !important; - } - .pt-xs-4 { - padding-top: 1rem !important; - } - .pr-xs-4 { - padding-right: 1rem !important; - } - .pb-xs-4 { - padding-bottom: 1rem !important; - } - .pl-xs-4 { - padding-left: 1rem !important; - } - .px-xs-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xs-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xs-5 { - padding: 1.5rem !important; - } - .pt-xs-5 { - padding-top: 1.5rem !important; - } - .pr-xs-5 { - padding-right: 1.5rem !important; - } - .pb-xs-5 { - padding-bottom: 1.5rem !important; - } - .pl-xs-5 { - padding-left: 1.5rem !important; - } - .px-xs-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xs-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xs-6 { - padding: 2rem !important; - } - .pt-xs-6 { - padding-top: 2rem !important; - } - .pr-xs-6 { - padding-right: 2rem !important; - } - .pb-xs-6 { - padding-bottom: 2rem !important; - } - .pl-xs-6 { - padding-left: 2rem !important; - } - .px-xs-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xs-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xs-7 { - padding: 2.5rem !important; - } - .pt-xs-7 { - padding-top: 2.5rem !important; - } - .pr-xs-7 { - padding-right: 2.5rem !important; - } - .pb-xs-7 { - padding-bottom: 2.5rem !important; - } - .pl-xs-7 { - padding-left: 2.5rem !important; - } - .px-xs-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xs-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xs-8 { - padding: 3rem !important; - } - .pt-xs-8 { - padding-top: 3rem !important; - } - .pr-xs-8 { - padding-right: 3rem !important; - } - .pb-xs-8 { - padding-bottom: 3rem !important; - } - .pl-xs-8 { - padding-left: 3rem !important; - } - .px-xs-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xs-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xs-9 { - padding: 3.5rem !important; - } - .pt-xs-9 { - padding-top: 3.5rem !important; - } - .pr-xs-9 { - padding-right: 3.5rem !important; - } - .pb-xs-9 { - padding-bottom: 3.5rem !important; - } - .pl-xs-9 { - padding-left: 3.5rem !important; - } - .px-xs-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xs-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xs-10 { - padding: 4rem !important; - } - .pt-xs-10 { - padding-top: 4rem !important; - } - .pr-xs-10 { - padding-right: 4rem !important; - } - .pb-xs-10 { - padding-bottom: 4rem !important; - } - .pl-xs-10 { - padding-left: 4rem !important; - } - .px-xs-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xs-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 31.25rem) { - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 0.75rem !important; - } - .pt-sm-3 { - padding-top: 0.75rem !important; - } - .pr-sm-3 { - padding-right: 0.75rem !important; - } - .pb-sm-3 { - padding-bottom: 0.75rem !important; - } - .pl-sm-3 { - padding-left: 0.75rem !important; - } - .px-sm-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-sm-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-sm-4 { - padding: 1rem !important; - } - .pt-sm-4 { - padding-top: 1rem !important; - } - .pr-sm-4 { - padding-right: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 1rem !important; - } - .pl-sm-4 { - padding-left: 1rem !important; - } - .px-sm-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-5 { - padding: 1.5rem !important; - } - .pt-sm-5 { - padding-top: 1.5rem !important; - } - .pr-sm-5 { - padding-right: 1.5rem !important; - } - .pb-sm-5 { - padding-bottom: 1.5rem !important; - } - .pl-sm-5 { - padding-left: 1.5rem !important; - } - .px-sm-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-6 { - padding: 2rem !important; - } - .pt-sm-6 { - padding-top: 2rem !important; - } - .pr-sm-6 { - padding-right: 2rem !important; - } - .pb-sm-6 { - padding-bottom: 2rem !important; - } - .pl-sm-6 { - padding-left: 2rem !important; - } - .px-sm-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-sm-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-sm-7 { - padding: 2.5rem !important; - } - .pt-sm-7 { - padding-top: 2.5rem !important; - } - .pr-sm-7 { - padding-right: 2.5rem !important; - } - .pb-sm-7 { - padding-bottom: 2.5rem !important; - } - .pl-sm-7 { - padding-left: 2.5rem !important; - } - .px-sm-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-sm-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-sm-8 { - padding: 3rem !important; - } - .pt-sm-8 { - padding-top: 3rem !important; - } - .pr-sm-8 { - padding-right: 3rem !important; - } - .pb-sm-8 { - padding-bottom: 3rem !important; - } - .pl-sm-8 { - padding-left: 3rem !important; - } - .px-sm-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-sm-9 { - padding: 3.5rem !important; - } - .pt-sm-9 { - padding-top: 3.5rem !important; - } - .pr-sm-9 { - padding-right: 3.5rem !important; - } - .pb-sm-9 { - padding-bottom: 3.5rem !important; - } - .pl-sm-9 { - padding-left: 3.5rem !important; - } - .px-sm-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-sm-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-sm-10 { - padding: 4rem !important; - } - .pt-sm-10 { - padding-top: 4rem !important; - } - .pr-sm-10 { - padding-right: 4rem !important; - } - .pb-sm-10 { - padding-bottom: 4rem !important; - } - .pl-sm-10 { - padding-left: 4rem !important; - } - .px-sm-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-sm-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 50rem) { - .p-md-0 { - padding: 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 0.75rem !important; - } - .pt-md-3 { - padding-top: 0.75rem !important; - } - .pr-md-3 { - padding-right: 0.75rem !important; - } - .pb-md-3 { - padding-bottom: 0.75rem !important; - } - .pl-md-3 { - padding-left: 0.75rem !important; - } - .px-md-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-md-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-md-4 { - padding: 1rem !important; - } - .pt-md-4 { - padding-top: 1rem !important; - } - .pr-md-4 { - padding-right: 1rem !important; - } - .pb-md-4 { - padding-bottom: 1rem !important; - } - .pl-md-4 { - padding-left: 1rem !important; - } - .px-md-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-5 { - padding: 1.5rem !important; - } - .pt-md-5 { - padding-top: 1.5rem !important; - } - .pr-md-5 { - padding-right: 1.5rem !important; - } - .pb-md-5 { - padding-bottom: 1.5rem !important; - } - .pl-md-5 { - padding-left: 1.5rem !important; - } - .px-md-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-6 { - padding: 2rem !important; - } - .pt-md-6 { - padding-top: 2rem !important; - } - .pr-md-6 { - padding-right: 2rem !important; - } - .pb-md-6 { - padding-bottom: 2rem !important; - } - .pl-md-6 { - padding-left: 2rem !important; - } - .px-md-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-md-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-md-7 { - padding: 2.5rem !important; - } - .pt-md-7 { - padding-top: 2.5rem !important; - } - .pr-md-7 { - padding-right: 2.5rem !important; - } - .pb-md-7 { - padding-bottom: 2.5rem !important; - } - .pl-md-7 { - padding-left: 2.5rem !important; - } - .px-md-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-md-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-md-8 { - padding: 3rem !important; - } - .pt-md-8 { - padding-top: 3rem !important; - } - .pr-md-8 { - padding-right: 3rem !important; - } - .pb-md-8 { - padding-bottom: 3rem !important; - } - .pl-md-8 { - padding-left: 3rem !important; - } - .px-md-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-md-9 { - padding: 3.5rem !important; - } - .pt-md-9 { - padding-top: 3.5rem !important; - } - .pr-md-9 { - padding-right: 3.5rem !important; - } - .pb-md-9 { - padding-bottom: 3.5rem !important; - } - .pl-md-9 { - padding-left: 3.5rem !important; - } - .px-md-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-md-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-md-10 { - padding: 4rem !important; - } - .pt-md-10 { - padding-top: 4rem !important; - } - .pr-md-10 { - padding-right: 4rem !important; - } - .pb-md-10 { - padding-bottom: 4rem !important; - } - .pl-md-10 { - padding-left: 4rem !important; - } - .px-md-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-md-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 66.5rem) { - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 0.75rem !important; - } - .pt-lg-3 { - padding-top: 0.75rem !important; - } - .pr-lg-3 { - padding-right: 0.75rem !important; - } - .pb-lg-3 { - padding-bottom: 0.75rem !important; - } - .pl-lg-3 { - padding-left: 0.75rem !important; - } - .px-lg-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-lg-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-lg-4 { - padding: 1rem !important; - } - .pt-lg-4 { - padding-top: 1rem !important; - } - .pr-lg-4 { - padding-right: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 1rem !important; - } - .pl-lg-4 { - padding-left: 1rem !important; - } - .px-lg-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-5 { - padding: 1.5rem !important; - } - .pt-lg-5 { - padding-top: 1.5rem !important; - } - .pr-lg-5 { - padding-right: 1.5rem !important; - } - .pb-lg-5 { - padding-bottom: 1.5rem !important; - } - .pl-lg-5 { - padding-left: 1.5rem !important; - } - .px-lg-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-6 { - padding: 2rem !important; - } - .pt-lg-6 { - padding-top: 2rem !important; - } - .pr-lg-6 { - padding-right: 2rem !important; - } - .pb-lg-6 { - padding-bottom: 2rem !important; - } - .pl-lg-6 { - padding-left: 2rem !important; - } - .px-lg-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-lg-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-lg-7 { - padding: 2.5rem !important; - } - .pt-lg-7 { - padding-top: 2.5rem !important; - } - .pr-lg-7 { - padding-right: 2.5rem !important; - } - .pb-lg-7 { - padding-bottom: 2.5rem !important; - } - .pl-lg-7 { - padding-left: 2.5rem !important; - } - .px-lg-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-lg-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-lg-8 { - padding: 3rem !important; - } - .pt-lg-8 { - padding-top: 3rem !important; - } - .pr-lg-8 { - padding-right: 3rem !important; - } - .pb-lg-8 { - padding-bottom: 3rem !important; - } - .pl-lg-8 { - padding-left: 3rem !important; - } - .px-lg-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-lg-9 { - padding: 3.5rem !important; - } - .pt-lg-9 { - padding-top: 3.5rem !important; - } - .pr-lg-9 { - padding-right: 3.5rem !important; - } - .pb-lg-9 { - padding-bottom: 3.5rem !important; - } - .pl-lg-9 { - padding-left: 3.5rem !important; - } - .px-lg-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-lg-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-lg-10 { - padding: 4rem !important; - } - .pt-lg-10 { - padding-top: 4rem !important; - } - .pr-lg-10 { - padding-right: 4rem !important; - } - .pb-lg-10 { - padding-bottom: 4rem !important; - } - .pl-lg-10 { - padding-left: 4rem !important; - } - .px-lg-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-lg-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 87.5rem) { - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 0.75rem !important; - } - .pt-xl-3 { - padding-top: 0.75rem !important; - } - .pr-xl-3 { - padding-right: 0.75rem !important; - } - .pb-xl-3 { - padding-bottom: 0.75rem !important; - } - .pl-xl-3 { - padding-left: 0.75rem !important; - } - .px-xl-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xl-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xl-4 { - padding: 1rem !important; - } - .pt-xl-4 { - padding-top: 1rem !important; - } - .pr-xl-4 { - padding-right: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 1rem !important; - } - .pl-xl-4 { - padding-left: 1rem !important; - } - .px-xl-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-5 { - padding: 1.5rem !important; - } - .pt-xl-5 { - padding-top: 1.5rem !important; - } - .pr-xl-5 { - padding-right: 1.5rem !important; - } - .pb-xl-5 { - padding-bottom: 1.5rem !important; - } - .pl-xl-5 { - padding-left: 1.5rem !important; - } - .px-xl-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-6 { - padding: 2rem !important; - } - .pt-xl-6 { - padding-top: 2rem !important; - } - .pr-xl-6 { - padding-right: 2rem !important; - } - .pb-xl-6 { - padding-bottom: 2rem !important; - } - .pl-xl-6 { - padding-left: 2rem !important; - } - .px-xl-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xl-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xl-7 { - padding: 2.5rem !important; - } - .pt-xl-7 { - padding-top: 2.5rem !important; - } - .pr-xl-7 { - padding-right: 2.5rem !important; - } - .pb-xl-7 { - padding-bottom: 2.5rem !important; - } - .pl-xl-7 { - padding-left: 2.5rem !important; - } - .px-xl-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xl-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xl-8 { - padding: 3rem !important; - } - .pt-xl-8 { - padding-top: 3rem !important; - } - .pr-xl-8 { - padding-right: 3rem !important; - } - .pb-xl-8 { - padding-bottom: 3rem !important; - } - .pl-xl-8 { - padding-left: 3rem !important; - } - .px-xl-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xl-9 { - padding: 3.5rem !important; - } - .pt-xl-9 { - padding-top: 3.5rem !important; - } - .pr-xl-9 { - padding-right: 3.5rem !important; - } - .pb-xl-9 { - padding-bottom: 3.5rem !important; - } - .pl-xl-9 { - padding-left: 3.5rem !important; - } - .px-xl-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xl-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xl-10 { - padding: 4rem !important; - } - .pt-xl-10 { - padding-top: 4rem !important; - } - .pr-xl-10 { - padding-right: 4rem !important; - } - .pb-xl-10 { - padding-bottom: 4rem !important; - } - .pl-xl-10 { - padding-left: 4rem !important; - } - .px-xl-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xl-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media print { - .site-footer, - .site-button, - #edit-this-page, - #back-to-top, - .site-nav, - .main-header { - display: none !important; - } - hr { - margin-top: 1rem; - margin-bottom: 1rem; - } - .side-bar { - width: 100%; - height: auto; - border-right: 0 !important; - } - .site-header { - border-bottom: 1px solid #eeebee; - } - .site-title { - font-size: 1rem !important; - font-weight: 700 !important; - } - .text-small { - font-size: 8pt !important; - } - pre.highlight { - border: 1px solid #eeebee; - } - .main { - max-width: none; - margin-left: 0; - } -} -a.skip-to-main { - left: -999px; - position: absolute; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; - z-index: -999; -} - -a.skip-to-main:focus, -a.skip-to-main:active { - color: #7253ed; - background-color: #fff; - left: auto; - top: auto; - width: 30%; - height: auto; - overflow: auto; - margin: 10px 35%; - padding: 5px; - border-radius: 15px; - border: 4px solid #5e41d0; - text-align: center; - font-size: 1.2em; - z-index: 999; -} - -div.opaque { - background-color: #fff; -} - -p.tip, blockquote.tip { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip::before, blockquote.tip::before { - color: #026e57; - content: "Tip"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.tip > .tip-title, blockquote.tip > .tip-title { - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.tip-title, blockquote.tip-title { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip-title > p:first-child, blockquote.tip-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.tip { - margin-left: 0; - margin-right: 0; -} -blockquote.tip > p:first-child { - margin-top: 0; -} -blockquote.tip > p:last-child { - margin-bottom: 0; -} - -blockquote.tip-title { - margin-left: 0; - margin-right: 0; -} -blockquote.tip-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.tip-title > p:last-child { - margin-bottom: 0; -} - -p.note, blockquote.note { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note::before, blockquote.note::before { - color: #183385; - content: "Note"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.note > .note-title, blockquote.note > .note-title { - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.note-title, blockquote.note-title { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note-title > p:first-child, blockquote.note-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.note { - margin-left: 0; - margin-right: 0; -} -blockquote.note > p:first-child { - margin-top: 0; -} -blockquote.note > p:last-child { - margin-bottom: 0; -} - -blockquote.note-title { - margin-left: 0; - margin-right: 0; -} -blockquote.note-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.note-title > p:last-child { - margin-bottom: 0; -} - -p.warning, blockquote.warning { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning::before, blockquote.warning::before { - color: #e7af06; - content: "Warning"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.warning > .warning-title, blockquote.warning > .warning-title { - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.warning-title, blockquote.warning-title { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning-title > p:first-child, blockquote.warning-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.warning { - margin-left: 0; - margin-right: 0; -} -blockquote.warning > p:first-child { - margin-top: 0; -} -blockquote.warning > p:last-child { - margin-bottom: 0; -} - -blockquote.warning-title { - margin-left: 0; - margin-right: 0; -} -blockquote.warning-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.warning-title > p:last-child { - margin-bottom: 0; -} - -/*# sourceMappingURL=just-the-docs-light.css.map */ \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-light.css.map b/v2.8.0/assets/css/just-the-docs-light.css.map deleted file mode 100644 index daaf7cd320..0000000000 --- a/v2.8.0/assets/css/just-the-docs-light.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/base.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/color_schemes/light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/_variables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/content.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/navigation.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/labels.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/search.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/tables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/code.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_colors.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_lists.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_spacing.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/print.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/skiptomain.scss","just-the-docs-light.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEmBA;EACE;;AClBA;EHHJ;IEyBI;;;;AFnBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIUY;EJTZ,kBIOM;EJNN;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIlBY;;;AJqBd;EACE;EACA;;;AAGF;EACE,OItBW;EJuBX;;;AAGF;EACE;EACA,uBI/BY;EJgCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBI/DY;EJgEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD6BY;;ADrBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDJQ;;ADrBV;EEuBA;IAKI;IACA,kBDdA;;;ACiBF;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODpGY;EDTZ,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF/BL;EACE;;ACtCA;EEiHJ;IHvEI;IACA,aEhDuB;;;ADKvB;EEiHJ;IAcI,aD/DG;ICgEH,gBDhEG;;;;AC+EP;EACE;EACA;EACA,SDhFK;ECiFL;;;AFnJE;EEuJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aD/GK;ECgHL,gBDhHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE6KJ;IF9JI,eCqDG;IDpDH,cCoDG;;;AFvEL;EACE;;ACEA;EE6KJ;IH3KI;;;ACFA;EE6KJ;IAYI;IACA;;;;AAIJ;EACE,OD5HK;EC6HL,QD7HK;EC8HL,ODxKW;;;AElCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJ1BN;EACE;;ACRA;EG2BE;IJfF;;;ACZA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OF5IO;EE6IP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALoBF;EACE;;AClBA;EILF;IL2BE;;;ACtBA;EDOF;IACE;;;ACRA;EILF;ILiBE;;;AKPA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EAEE,eH0DD;EGzDC,cHqDD;;ADlEH;EIKA;IAeI,YHgDD;IG/CC;IAEE,eH6CH;IG5CG,cH4CH;;;AGrCD;EACE,OHkCD;EGjCC,QHiCD;EGhCC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHUC;EGTD,QHSC;EGRD;EACA,OHtCO;;ADzBT;EIsDA;IAYI,OHED;IGDC,QHCD;IGAC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cHvBC;EGwBD;;AAEA;EACE;;AAEA;EACE,OH9EI;;AGiFN;EACE,OHlFI;;AGwFR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;ALhIA;EACE;;ACEA;EIwHJ;ILtHI;;;ACFA;EIwHJ;IASI;IACA,YHhEG;IGiEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,OH3HG;;AG8HL;EACE,OH/HG;;;AGwIb;EACE;EACA;;ALtKA;EACE;;ACEA;EIiKJ;IL/JI;;;AKoKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJlLA;EIiKJ;IAqBI,eHpHG;;;;ADlEH;EI4LJ;IAEI;;;;AAIJ;EACE;EACA,eHnIK;EGoIL;;;AAGF;EACE;;AL5MA;EACE;;ACEA;EIwMJ;ILtMI;;;AK0MF;EACE;;AAGF;EACE;EACA,cHlJG;EGmJH,aHnJG;EGoJH,OHpMU;EGqMV;;AAIA;EACE;;;ACrON;AAAA;EAEE;;ANoEA;AAAA;EACE;EACA,aElEuB;;ADKvB;EKXJ;AAAA;IN4EI;;;;AA5BF;AAAA;AAAA;EACE;;ACtCA;EKJJ;AAAA;AAAA;IN8CI;IACA,aEhDuB;;;;AFgCzB;AAAA;EACE;;AC5BA;EKEJ;AAAA;IN8BI;;;;AMzBJ;AAAA;EAEE;EACA;EACA;;ANdA;AAAA;EACE;;ACEA;EKOJ;AAAA;INLI;;;;AMcJ;EACE;;;ANVA;AAAA;EACE;;ACRA;EKoBJ;AAAA;INRI;;;;AAfF;AAAA;EACE;;ACEA;EKyBJ;AAAA;INvBI;;;;AALF;EACE;;ACEA;EK8BJ;IN5BI;;;;AMgCJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APLA;AAAA;EACE;;ACEA;EMRJ;AAAA;IPUI;;;;AOKJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ON2BW;EM1BX;EACA;EACA;EACA,kBTTkB;ESUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,ONnCW;EMoCX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORhBY;EQiBZ,kBRnBM;EQoBN;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBR7BI;IQ8BJ;;;AAGF;EACE;EACA;;AAEA;EACE,OR5BO;;;AQiCb;EACE;EACA;EACA;EACA,cRIK;;ADlEH;ES0DJ;IAOI,cRGG;IQFH;;;AAGF;EACE;EACA;EACA;EACA,ORzDU;;;AQ6Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRrEM;EQsEN,4BRRc;EQSd,2BRTc;EQUd,YACE;;ATxFA;ES6EJ;IAeI;IACA,ORFmB;IQGnB;;;;AAIJ;EACE;EACA,eRrCK;EQsCL;;AVpFA;EACE;;AClBA;ESkGJ;IV5EI;;;ACtBA;EDOF;IACE;;;ACRA;ESkGJ;IVtFI;;;;AUiGJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EAEE,kBX5Ha;;;AWgIjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVxIF;EACE;;ACRA;ES8IF;IVlIE;;;ACZA;EDHF;IACE;;;ACEA;ES8IF;IV5IE;;;AUqJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,ORlIS;EQmIT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OR5JY;EQ6JZ;EACA;;AV5LA;EACE;;ACYA;ESyKJ;IVjLI;;;;AU2LJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORxKY;EQyKZ;EACA,aR/GO;EQgHP,mBRtKY;;AFzBZ;EACE;;ACEA;ESmLJ;IVjLI;;;ACFA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AV1MA;EACE;;ACRA;ESgNJ;IVpMI;;;;AUyMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBR7MM;EQ8MN;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBR7PI;;ADfJ;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTIM;ESHN;EACA;;AXNA;AAAA;EACE;;ACRA;EUOJ;AAAA;IXKI;;;AWKF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBVmBI;EUlBJ;EACA,eV+EY;;;AU1EhB;EACE,cVkBY;;;AUiCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBV7CM;EU8CN,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OV7DU;EU8DV;;AAEA;AAAA;AAAA;EACE,MVjEQ;;AUoEV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBV3JI;EU4JJ;;AZ9KF;AAAA;EACE;;ACEA;EWsKF;AAAA;IZpKE;;;AY8KF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YV9MM;EUmNJ,OVjNU;;;AUsNd;EACE,YVzNM;;;AWzBR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AdhHA;EACE;;ACYA;EcZJ;IfII;;;;AAKF;EACE;;ACEA;EcRJ;IfUI;;;;AAKF;EACE;;ACRA;EcJJ;IfgBI;;;;AAKF;EACE;;AClBA;EcAJ;IfsBI;;;;AAKF;EACE;;AC5BA;EcIJ;If4BI;;;;AAKF;EACE;;ACtCA;EcQJ;IfkCI;IACA,aEhDuB;;;;AFqDzB;EACE;EACA,aEvDuB;;ADKvB;EcYJ;If0CI;;;;AAKF;EACE;EACA,aElEuB;;ADKvB;EcgBJ;IfiDI;;;;AAKF;EACE;EACA,aE7EuB;;ADKvB;EcoBJ;IfwDI;;;;AAKF;EACE;EACA,aExFuB;;ADKvB;EcwBJ;If+DI;;;;Ae3DJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;ACvCJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OjBwBW;EiBvBX,kBjBaM;EiBZN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACtBF;EACE,kBlBsBM;;;AkBnBR;EACI;EACA;EACA,elB8EY;EkB7EZ;EACA;;AAEA;EACI,OlBgCI;EkB/BJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBsBM;EkBrBN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBmDY;EkBlDZ;EACA;;AACA;EACE;EACA;EACA,OlBIM;EkBHN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBKY;EkBJZ;EACA;;AAEA;EACI,OlB7CG;EkB8CH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBvDK;EkBwDL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBtBY;EkBuBZ;EACA;;AACA;EACE;EACA;EACA,OlBzEK;EkB0EL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBpEY;EkBqEZ;EACA;;AAEA;EACI,OlB9GK;EkB+GL;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBxHO;EkByHP;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elB/FY;EkBgGZ;EACA;;AACA;EACE;EACA;EACA,OlB1IO;EkB2IP;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline: 2px solid $link-color;\n outline-offset: -2px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.tip, blockquote.tip {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.note, blockquote.note {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $yellow-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-light.css"} \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-meshtastic-dark.css b/v2.8.0/assets/css/just-the-docs-meshtastic-dark.css deleted file mode 100644 index d97d7185df..0000000000 --- a/v2.8.0/assets/css/just-the-docs-meshtastic-dark.css +++ /dev/null @@ -1,7504 +0,0 @@ -@charset "UTF-8"; -/* -generated by accessible-pygments -Copyright (c) 2022, Quansight Labs -Licensed under the BSD license, see LICENSE for details. --- -generated by Pygments -Copyright 2006-2025 by the Pygments team. -Licensed under the BSD license, see LICENSE for details. -*/ -.highlight .hll { - background-color: rgba(9, 105, 218, 0.2901960784); -} - -.highlight .c { - color: #6E7781; -} /* Comment */ -.highlight .err { - color: #CF222E; -} /* Error */ -.highlight .k { - color: #CF222E; -} /* Keyword */ -.highlight .l { - color: #953800; -} /* Literal */ -.highlight .n { - color: #8250DF; -} /* Name */ -.highlight .o { - color: #116329; -} /* Operator */ -.highlight .p { - color: #24292F; -} /* Punctuation */ -.highlight .ch { - color: #6E7781; -} /* Comment.Hashbang */ -.highlight .cm { - color: #6E7781; -} /* Comment.Multiline */ -.highlight .cp { - color: #6E7781; -} /* Comment.Preproc */ -.highlight .cpf { - color: #6E7781; -} /* Comment.PreprocFile */ -.highlight .c1 { - color: #6E7781; -} /* Comment.Single */ -.highlight .cs { - color: #6E7781; -} /* Comment.Special */ -.highlight .gd { - color: #0550AE; -} /* Generic.Deleted */ -.highlight .ge { - font-style: italic; -} /* Generic.Emph */ -.highlight .gr { - color: #CF222E; -} /* Generic.Error */ -.highlight .gh { - color: #0550AE; -} /* Generic.Heading */ -.highlight .gs { - font-weight: bold; -} /* Generic.Strong */ -.highlight .gu { - color: #0550AE; -} /* Generic.Subheading */ -.highlight .kc { - color: #0550AE; -} /* Keyword.Constant */ -.highlight .kd { - color: #CF222E; -} /* Keyword.Declaration */ -.highlight .kn { - color: #CF222E; -} /* Keyword.Namespace */ -.highlight .kp { - color: #CF222E; -} /* Keyword.Pseudo */ -.highlight .kr { - color: #CF222E; -} /* Keyword.Reserved */ -.highlight .kt { - color: #CF222E; -} /* Keyword.Type */ -.highlight .ld { - color: #953800; -} /* Literal.Date */ -.highlight .m { - color: #953800; -} /* Literal.Number */ -.highlight .s { - color: #0550AE; -} /* Literal.String */ -.highlight .na { - color: #953800; -} /* Name.Attribute */ -.highlight .nb { - color: #953800; -} /* Name.Builtin */ -.highlight .nc { - color: #0550AE; -} /* Name.Class */ -.highlight .no { - color: #0550AE; -} /* Name.Constant */ -.highlight .nd { - color: #953800; -} /* Name.Decorator */ -.highlight .ni { - color: #116329; -} /* Name.Entity */ -.highlight .ne { - color: #8250DF; -} /* Name.Exception */ -.highlight .nf { - color: #0550AE; -} /* Name.Function */ -.highlight .nl { - color: #953800; -} /* Name.Label */ -.highlight .nn { - color: #24292F; -} /* Name.Namespace */ -.highlight .nx { - color: #8250DF; -} /* Name.Other */ -.highlight .py { - color: #0550AE; -} /* Name.Property */ -.highlight .nt { - color: #116329; -} /* Name.Tag */ -.highlight .nv { - color: #953800; -} /* Name.Variable */ -.highlight .ow { - color: #8250DF; -} /* Operator.Word */ -.highlight .pm { - color: #24292F; -} /* Punctuation.Marker */ -.highlight .w { - color: #24292F; -} /* Text.Whitespace */ -.highlight .mb { - color: #953800; -} /* Literal.Number.Bin */ -.highlight .mf { - color: #953800; -} /* Literal.Number.Float */ -.highlight .mh { - color: #953800; -} /* Literal.Number.Hex */ -.highlight .mi { - color: #953800; -} /* Literal.Number.Integer */ -.highlight .mo { - color: #953800; -} /* Literal.Number.Oct */ -.highlight .sa { - color: #0550AE; -} /* Literal.String.Affix */ -.highlight .sb { - color: #0550AE; -} /* Literal.String.Backtick */ -.highlight .sc { - color: #0550AE; -} /* Literal.String.Char */ -.highlight .dl { - color: #0550AE; -} /* Literal.String.Delimiter */ -.highlight .sd { - color: #0550AE; -} /* Literal.String.Doc */ -.highlight .s2 { - color: #0550AE; -} /* Literal.String.Double */ -.highlight .se { - color: #0550AE; -} /* Literal.String.Escape */ -.highlight .sh { - color: #0550AE; -} /* Literal.String.Heredoc */ -.highlight .si { - color: #0550AE; -} /* Literal.String.Interpol */ -.highlight .sx { - color: #0550AE; -} /* Literal.String.Other */ -.highlight .sr { - color: #0550AE; -} /* Literal.String.Regex */ -.highlight .s1 { - color: #0550AE; -} /* Literal.String.Single */ -.highlight .ss { - color: #0550AE; -} /* Literal.String.Symbol */ -.highlight .bp { - color: #953800; -} /* Name.Builtin.Pseudo */ -.highlight .fm { - color: #0550AE; -} /* Name.Function.Magic */ -.highlight .vc { - color: #953800; -} /* Name.Variable.Class */ -.highlight .vg { - color: #953800; -} /* Name.Variable.Global */ -.highlight .vi { - color: #953800; -} /* Name.Variable.Instance */ -.highlight .vm { - color: #953800; -} /* Name.Variable.Magic */ -.highlight .il { - color: #953800; -} /* Literal.Number.Integer.Long */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* Document - ========================================================================== */ -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ -html { - line-height: 1.15; /* 1 */ - text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers. - */ -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ -/** - * Remove the gray background on active links in IE 10. - */ -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ -/** - * Remove the border on images inside links in IE 10. - */ -img { - border-style: none; -} - -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ -button, -input { - /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ -button, -[type=button], -[type=reset], -[type=submit] { - appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ -[type=checkbox], -[type=radio] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type=search] { - appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-decoration { - appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ -/** - * Add the correct display in IE 10+. - */ -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ -[hidden] { - display: none; -} - -:root { - color-scheme: dark; -} - -* { - box-sizing: border-box; -} - -html { - scroll-behavior: smooth; -} -html { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - html { - font-size: 1rem !important; - } -} - -body { - font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; - font-size: inherit; - line-height: 1.4; - color: #ECEDF3; - background-color: #1A1B26; - overflow-wrap: break-word; -} - -ol, -ul, -dl, -pre, -address, -blockquote, -table, -div, -hr, -form, -fieldset, -noscript .table-wrapper { - margin-top: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6, -#toctitle { - margin-top: 0; - margin-bottom: 1em; - font-weight: 500; - line-height: 1.25; - color: #ECEDF3; -} - -p { - margin-top: 1em; - margin-bottom: 1em; -} - -a { - color: #67EA94; - text-decoration: none; -} - -a:not([class]) { - text-decoration: underline; - text-decoration-color: #3D3E50; - text-underline-offset: 2px; -} -a:not([class]):hover { - text-decoration-color: rgba(103, 234, 148, 0.45); -} - -code { - font-family: "SFMono-Regular", menlo, consolas, monospace; - font-size: 0.75em; - line-height: 1.4; -} - -figure, -pre { - margin: 0; -} - -li { - margin: 0.25em 0; -} - -img { - max-width: 100%; - height: auto; -} - -hr { - height: 1px; - padding: 0; - margin: 2rem 0; - background-color: #3D3E50; - border: 0; -} - -blockquote { - margin: 10px 0; - margin-block-start: 0; - margin-inline-start: 0; - padding-left: 1rem; - border-left: 3px solid #3D3E50; -} - -.side-bar { - z-index: 0; - display: flex; - flex-wrap: wrap; - background-color: #1A1B26; -} -@media (min-width: 50rem) { - .side-bar { - flex-flow: column nowrap; - position: fixed; - width: 15.5rem; - height: 100%; - border-right: 1px solid #3D3E50; - align-items: flex-end; - } -} -@media (min-width: 66.5rem) { - .side-bar { - width: calc((100% - 66.5rem) / 2 + 16.5rem); - min-width: 16.5rem; - } -} -@media (min-width: 50rem) { - .side-bar + .main { - margin-left: 15.5rem; - } -} -@media (min-width: 66.5rem) { - .side-bar + .main { - margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); - } -} -.side-bar + .main .main-header { - display: none; - background-color: #1A1B26; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header { - display: flex; - background-color: #1A1B26; - } -} -.side-bar + .main .main-header.nav-open { - display: block; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header.nav-open { - display: flex; - } -} - -.main { - margin: auto; -} -@media (min-width: 50rem) { - .main { - position: relative; - max-width: 50rem; - } -} - -.main-content-wrap { - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-right: 2rem; - padding-left: 2rem; - } -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-top: 2rem; - padding-bottom: 2rem; - } -} - -.main-header { - z-index: 0; - border-bottom: 1px solid #3D3E50; -} -@media (min-width: 50rem) { - .main-header { - display: flex; - justify-content: space-between; - height: 3.75rem; - } -} - -.site-nav, -.site-header, -.site-footer { - width: 100%; -} -@media (min-width: 66.5rem) { - .site-nav, - .site-header, - .site-footer { - width: 16.5rem; - } -} - -.site-nav { - display: none; -} -.site-nav.nav-open { - display: block; -} -@media (min-width: 50rem) { - .site-nav { - display: block; - padding-top: 3rem; - padding-bottom: 1rem; - overflow-y: auto; - flex: 1 1 auto; - } -} - -.site-header { - display: flex; - min-height: 3.75rem; - align-items: center; -} -@media (min-width: 50rem) { - .site-header { - height: 3.75rem; - max-height: 3.75rem; - border-bottom: 1px solid #3D3E50; - } -} - -.site-title { - flex-grow: 1; - display: flex; - height: 100%; - align-items: center; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #ECEDF3; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-title { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-title { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .site-title { - font-size: 1.5rem !important; - line-height: 1.25; - } -} -@media (min-width: 50rem) { - .site-title { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} - -.site-button { - display: flex; - height: 100%; - padding: 1rem; - align-items: center; -} - -@media (min-width: 50rem) { - .site-header .site-button { - display: none; - } -} -.site-title:hover { - background-image: linear-gradient(-90deg, #242533 0%, rgba(36, 37, 51, 0.8) 80%, rgba(36, 37, 51, 0) 100%); -} - -.site-button:hover { - background-image: linear-gradient(-90deg, #242533 0%, rgba(36, 37, 51, 0.8) 100%); -} - -.site-footer { - position: absolute; - bottom: 0; - left: 0; - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-footer { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-footer { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .site-footer { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .site-footer { - position: static; - justify-self: end; - } -} - -.icon { - width: 1.5rem; - height: 1.5rem; - color: #67EA94; -} - -.main-content { - line-height: 1.6; -} -.main-content ol, -.main-content ul, -.main-content dl, -.main-content pre, -.main-content address, -.main-content blockquote, -.main-content .table-wrapper { - margin-top: 0.5em; -} -.main-content a { - overflow: hidden; - text-overflow: ellipsis; -} -.main-content ul, -.main-content ol { - padding-left: 1.5em; -} -.main-content li .highlight { - margin-top: 0.25rem; -} -.main-content ol { - list-style-type: none; - counter-reset: step-counter; -} -.main-content ol > li { - position: relative; -} -.main-content ol > li::before { - position: absolute; - top: 0.2em; - left: -1.6em; - color: #959396; - content: counter(step-counter); - counter-increment: step-counter; -} -.main-content ol > li::before { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - font-size: 0.875rem !important; - } -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - top: 0.11em; - } -} -.main-content ol > li ol { - counter-reset: sub-counter; -} -.main-content ol > li ol > li::before { - content: counter(sub-counter, lower-alpha); - counter-increment: sub-counter; -} -.main-content ul { - list-style: none; -} -.main-content ul > li::before { - position: absolute; - margin-left: -1.4em; - color: #959396; - content: "•"; -} -.main-content .task-list-item::before { - content: ""; -} -.main-content .task-list-item-checkbox { - margin-right: 0.6em; - margin-left: -1.4em; -} -.main-content hr + * { - margin-top: 0; -} -.main-content h1:first-of-type { - margin-top: 0.5em; -} -.main-content dl { - display: grid; - grid-template: auto/10em 1fr; -} -.main-content dt, -.main-content dd { - margin: 0.25em 0; -} -.main-content dt { - grid-column: 1; - font-weight: 500; - text-align: right; -} -.main-content dt::after { - content: ":"; -} -.main-content dd { - grid-column: 2; - margin-bottom: 0; - margin-left: 1em; -} -.main-content dd blockquote:first-child, -.main-content dd div:first-child, -.main-content dd dl:first-child, -.main-content dd dt:first-child, -.main-content dd h1:first-child, -.main-content dd h2:first-child, -.main-content dd h3:first-child, -.main-content dd h4:first-child, -.main-content dd h5:first-child, -.main-content dd h6:first-child, -.main-content dd li:first-child, -.main-content dd ol:first-child, -.main-content dd p:first-child, -.main-content dd pre:first-child, -.main-content dd table:first-child, -.main-content dd ul:first-child, -.main-content dd .table-wrapper:first-child { - margin-top: 0; -} -.main-content dd dl:first-child dt:first-child, -.main-content dd dl:first-child dd:nth-child(2), -.main-content ol dl:first-child dt:first-child, -.main-content ol dl:first-child dd:nth-child(2), -.main-content ul dl:first-child dt:first-child, -.main-content ul dl:first-child dd:nth-child(2) { - margin-top: 0; -} -.main-content .anchor-heading { - position: absolute; - right: -1rem; - width: 1.5rem; - height: 100%; - padding-right: 0.25rem; - padding-left: 0.25rem; - overflow: visible; -} -@media (min-width: 50rem) { - .main-content .anchor-heading { - right: auto; - left: -1.5rem; - } -} -.main-content .anchor-heading svg { - display: inline-block; - width: 100%; - height: 100%; - color: #67EA94; - visibility: hidden; -} -.main-content .anchor-heading:hover svg, -.main-content .anchor-heading:focus svg, -.main-content h1:hover > .anchor-heading svg, -.main-content h2:hover > .anchor-heading svg, -.main-content h3:hover > .anchor-heading svg, -.main-content h4:hover > .anchor-heading svg, -.main-content h5:hover > .anchor-heading svg, -.main-content h6:hover > .anchor-heading svg { - visibility: visible; -} -.main-content summary { - cursor: pointer; -} -.main-content h1, -.main-content h2, -.main-content h3, -.main-content h4, -.main-content h5, -.main-content h6, -.main-content #toctitle { - position: relative; - margin-top: 1.5em; - margin-bottom: 0.25em; -} -.main-content h1 + table, -.main-content h1 + .table-wrapper, -.main-content h1 + .code-example, -.main-content h1 + .highlighter-rouge, -.main-content h1 + .sectionbody .listingblock, -.main-content h2 + table, -.main-content h2 + .table-wrapper, -.main-content h2 + .code-example, -.main-content h2 + .highlighter-rouge, -.main-content h2 + .sectionbody .listingblock, -.main-content h3 + table, -.main-content h3 + .table-wrapper, -.main-content h3 + .code-example, -.main-content h3 + .highlighter-rouge, -.main-content h3 + .sectionbody .listingblock, -.main-content h4 + table, -.main-content h4 + .table-wrapper, -.main-content h4 + .code-example, -.main-content h4 + .highlighter-rouge, -.main-content h4 + .sectionbody .listingblock, -.main-content h5 + table, -.main-content h5 + .table-wrapper, -.main-content h5 + .code-example, -.main-content h5 + .highlighter-rouge, -.main-content h5 + .sectionbody .listingblock, -.main-content h6 + table, -.main-content h6 + .table-wrapper, -.main-content h6 + .code-example, -.main-content h6 + .highlighter-rouge, -.main-content h6 + .sectionbody .listingblock, -.main-content #toctitle + table, -.main-content #toctitle + .table-wrapper, -.main-content #toctitle + .code-example, -.main-content #toctitle + .highlighter-rouge, -.main-content #toctitle + .sectionbody .listingblock { - margin-top: 1em; -} -.main-content h1 + p:not(.label), -.main-content h2 + p:not(.label), -.main-content h3 + p:not(.label), -.main-content h4 + p:not(.label), -.main-content h5 + p:not(.label), -.main-content h6 + p:not(.label), -.main-content #toctitle + p:not(.label) { - margin-top: 0; -} -.main-content > h1:first-child, -.main-content > h2:first-child, -.main-content > h3:first-child, -.main-content > h4:first-child, -.main-content > h5:first-child, -.main-content > h6:first-child, -.main-content > .sect1:first-child > h2, -.main-content > .sect2:first-child > h3, -.main-content > .sect3:first-child > h4, -.main-content > .sect4:first-child > h5, -.main-content > .sect5:first-child > h6 { - margin-top: 0.5rem; -} - -.nav-list { - padding: 0; - margin-top: 0; - margin-bottom: 0; - list-style: none; -} -.nav-list .nav-list-item { - position: relative; - margin: 0; -} -.nav-list .nav-list-item { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .nav-list .nav-list-item { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 0.875rem !important; - } -} -.nav-list .nav-list-item .nav-list-link { - display: block; - min-height: 3rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - line-height: 2.5rem; - padding-right: 3rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-link { - min-height: 2rem; - line-height: 1.5rem; - padding-right: 2rem; - padding-left: 2rem; - } -} -.nav-list .nav-list-item .nav-list-link.external > svg { - width: 1rem; - height: 1rem; - vertical-align: text-bottom; -} -.nav-list .nav-list-item .nav-list-link.active { - font-weight: 600; - text-decoration: none; -} -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { - color: rgb(31.6060296951%, 90.55083305%, 51.854244588%); - background-image: linear-gradient(-90deg, #242533 0%, rgba(36, 37, 51, 0.8) 80%, rgba(36, 37, 51, 0) 100%); -} -.nav-list .nav-list-item .nav-list-expander { - position: absolute; - right: 0; - width: 3rem; - height: 3rem; - padding: 0.75rem; - color: #67EA94; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-expander { - width: 2rem; - height: 2rem; - padding: 0.5rem; - } -} -.nav-list .nav-list-item .nav-list-expander:hover { - background-image: linear-gradient(-90deg, #242533 0%, rgba(36, 37, 51, 0.8) 100%); -} -.nav-list .nav-list-item .nav-list-expander svg { - transform: rotate(90deg); -} -.nav-list .nav-list-item > .nav-list { - display: none; - padding-left: 0.75rem; - list-style: none; -} -.nav-list .nav-list-item > .nav-list .nav-list-item { - position: relative; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { - color: #B8BAC8; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { - color: #B8BAC8; -} -.nav-list .nav-list-item.active > .nav-list-expander svg { - transform: rotate(-90deg); -} -.nav-list .nav-list-item.active > .nav-list { - display: block; -} - -.nav-category { - padding: 0.5rem 1rem; - font-weight: 600; - text-align: start; - text-transform: uppercase; - border-bottom: 1px solid #3D3E50; -} -.nav-category { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .nav-category { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .nav-category { - padding: 0.5rem 2rem; - margin-top: 1rem; - text-align: start; - } - .nav-category:first-child { - margin-top: 0; - } -} - -.nav-list.nav-category-list > .nav-list-item { - margin: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list { - padding: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { - color: #67EA94; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { - color: #67EA94; -} - -.aux-nav { - height: 100%; - overflow-x: auto; -} -.aux-nav { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .aux-nav { - font-size: 0.75rem !important; - } -} -.aux-nav .aux-nav-list { - display: flex; - height: 100%; - padding: 0; - margin: 0; - list-style: none; -} -.aux-nav .aux-nav-list-item { - display: inline-block; - height: 100%; - padding: 0; - margin: 0; -} -@media (min-width: 50rem) { - .aux-nav { - padding-right: 1rem; - } -} - -@media (min-width: 50rem) { - .breadcrumb-nav { - margin-top: -1rem; - } -} - -.breadcrumb-nav-list { - padding-left: 0; - margin-bottom: 0.75rem; - list-style: none; -} - -.breadcrumb-nav-list-item { - display: table-cell; -} -.breadcrumb-nav-list-item { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .breadcrumb-nav-list-item { - font-size: 0.75rem !important; - } -} -.breadcrumb-nav-list-item::before { - display: none; -} -.breadcrumb-nav-list-item::after { - display: inline-block; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #959396; - content: "/"; -} -.breadcrumb-nav-list-item:last-child::after { - content: ""; -} - -h1, -.text-alpha { - font-weight: 300; -} -h1, -.text-alpha { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - h1, - .text-alpha { - font-size: 2.25rem !important; - } -} - -h2, -.text-beta, -#toctitle { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - h2, - .text-beta, - #toctitle { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -h3, -.text-gamma { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - h3, - .text-gamma { - font-size: 1.125rem !important; - } -} - -h4, -.text-delta { - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0.1em; -} -h4, -.text-delta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h4, - .text-delta { - font-size: 0.75rem !important; - } -} - -h4 code { - text-transform: none; -} - -h5, -.text-epsilon { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - h5, - .text-epsilon { - font-size: 0.875rem !important; - } -} - -h6, -.text-zeta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h6, - .text-zeta { - font-size: 0.75rem !important; - } -} - -.text-small { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .text-small { - font-size: 0.75rem !important; - } -} - -.text-mono { - font-family: "SFMono-Regular", menlo, consolas, monospace !important; -} - -.text-left { - text-align: left !important; -} - -.text-center { - text-align: center !important; -} - -.text-right { - text-align: right !important; -} - -.label:not(g), -.label-blue:not(g) { - display: inline-block; - padding: 0.16em 0.56em; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #fff; - text-transform: uppercase; - vertical-align: middle; - background-color: #2869e6; - border-radius: 12px; -} -.label:not(g), -.label-blue:not(g) { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .label:not(g), - .label-blue:not(g) { - font-size: 0.75rem !important; - } -} - -.label-green:not(g) { - background-color: #026e57; -} - -.label-purple:not(g) { - background-color: #5e41d0; -} - -.label-red:not(g) { - background-color: #dd2e2e; -} - -.label-yellow:not(g) { - color: #44434d; - background-color: #f7d12e; -} - -.btn { - display: inline-block; - box-sizing: border-box; - padding: 0.3em 1em; - margin: 0; - font-family: inherit; - font-size: inherit; - font-weight: 500; - line-height: 1.5; - color: #67EA94; - text-decoration: none; - vertical-align: baseline; - cursor: pointer; - background-color: #2C2D3C; - border-width: 0; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - appearance: none; -} -.btn:focus { - text-decoration: none; - outline: none; - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:focus:hover, .btn.selected:focus { - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:hover, .btn.zeroclipboard-is-hover { - color: rgb(36.8777059957%, 91.2791567494%, 55.565227247%); -} -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { - text-decoration: none; - background-color: rgb(16.4087481146%, 16.7816742081%, 22.3755656109%); -} -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { - background-color: rgb(14.7164404223%, 15.0509049774%, 20.0678733032%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn.selected:hover { - background-color: rgb(81.2745098039%, 81.2745098039%, 81.2745098039%); -} -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { - color: rgba(102, 102, 102, 0.5); - cursor: default; - background-color: rgba(229, 229, 229, 0.5); - background-image: none; - box-shadow: none; -} - -.btn-outline { - color: #67EA94; - background: transparent; - box-shadow: inset 0 0 0 2px #e6e1e8; -} -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { - color: rgb(33.3632551286%, 90.7936076165%, 53.0912388077%); - text-decoration: none; - background-color: transparent; - box-shadow: inset 0 0 0 3px #e6e1e8; -} -.btn-outline:focus { - text-decoration: none; - outline: none; - box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn-outline:focus:hover, .btn-outline.selected:focus { - box-shadow: inset 0 0 0 2px #5c5962; -} - -.btn-primary { - color: #fff; - background-color: rgb(36.8777059957%, 91.2791567494%, 55.565227247%); - background-image: linear-gradient(rgb(49.1782840304%, 92.9785787147%, 64.2241867845%), rgb(36.8777059957%, 91.2791567494%, 55.565227247%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(33.3632551286%, 90.7936076165%, 53.0912388077%); - background-image: linear-gradient(rgb(43.9066077298%, 92.2502550153%, 60.5132041256%), rgb(33.3632551286%, 90.7936076165%, 53.0912388077%)); -} -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { - background-color: rgb(31.6060296951%, 90.55083305%, 51.854244588%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-primary.selected:hover { - background-color: rgb(22.8199025275%, 89.3369602176%, 45.6692734897%); -} - -.btn-purple { - color: #fff; - background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%); - background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%); - background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%)); -} -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { - background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-purple.selected:hover { - background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%); -} - -.btn-blue { - color: #fff; - background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%); - background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%); - background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%)); -} -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { - background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-blue.selected:hover { - background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%); -} - -.btn-green { - color: #fff; - background-color: rgb(0.7128851541%, 39.2086834734%, 31.0105042017%); - background-image: linear-gradient(rgb(0.9628851541%, 52.9586834734%, 41.8855042017%), rgb(0.7128851541%, 39.2086834734%, 31.0105042017%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-green:hover, .btn-green.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(0.6414565826%, 35.2801120448%, 27.9033613445%); - background-image: linear-gradient(rgb(0.8557422969%, 47.0658263305%, 37.224789916%), rgb(0.6414565826%, 35.2801120448%, 27.9033613445%)); -} -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { - background-color: rgb(0.6057422969%, 33.3158263305%, 26.349789916%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-green.selected:hover { - background-color: rgb(0.4271708683%, 23.4943977591%, 18.5819327731%); -} - -.btn-reset { - background: none; - border: none; - margin: 0; - text-align: inherit; - font: inherit; - border-radius: 0; - appearance: none; -} - -.search { - position: relative; - z-index: 2; - flex-grow: 1; - height: 4rem; - padding: 0.5rem; - transition: padding linear 200ms; -} -@media (min-width: 50rem) { - .search { - position: relative !important; - width: auto !important; - height: 100% !important; - padding: 0; - transition: none; - } -} - -.search-input-wrap { - position: relative; - z-index: 1; - height: 3rem; - overflow: hidden; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - transition: height linear 200ms; -} -@media (min-width: 50rem) { - .search-input-wrap { - position: absolute; - width: 100%; - max-width: 33.5rem; - height: 100% !important; - border-radius: 0; - box-shadow: none; - transition: width ease 400ms; - } -} - -.search-input { - position: absolute; - width: 100%; - height: 100%; - padding: 0.5rem 1rem 0.5rem 2.5rem; - font-size: 1rem; - color: #ECEDF3; - background-color: #242533; - border-top: 0; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-input { - padding: 0.5rem 1rem 0.5rem 3.5rem; - font-size: 0.875rem; - background-color: #1A1B26; - transition: padding-left linear 200ms; - } -} -.search-input:focus { - outline: 2px solid #67EA94; - outline-offset: -2px; -} -.search-input:focus + .search-label .search-icon { - color: #67EA94; -} - -.search-label { - position: absolute; - display: flex; - height: 100%; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .search-label { - padding-left: 2rem; - transition: padding-left linear 200ms; - } -} -.search-label .search-icon { - width: 1.2rem; - height: 1.2rem; - align-self: center; - color: #959396; -} - -.search-results { - position: absolute; - left: 0; - display: none; - width: 100%; - max-height: calc(100% - 4rem); - overflow-y: auto; - background-color: #242533; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} -@media (min-width: 50rem) { - .search-results { - top: 100%; - width: 33.5rem; - max-height: calc(100vh - 200%) !important; - } -} - -.search-results-list { - padding-left: 0; - margin-bottom: 0.25rem; - list-style: none; -} -.search-results-list { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .search-results-list { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .search-results-list { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-results-list { - font-size: 0.875rem !important; - } -} - -.search-results-list-item { - padding: 0; - margin: 0; -} - -.search-result { - display: block; - padding: 0.25rem 0.75rem; -} -.search-result:hover, .search-result.active { - background-color: #242533; -} - -.search-result-title { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -@media (min-width: 31.25rem) { - .search-result-title { - display: inline-block; - width: 40%; - padding-right: 0.5rem; - vertical-align: top; - } -} - -.search-result-doc { - display: flex; - align-items: center; - word-wrap: break-word; -} -.search-result-doc.search-result-doc-parent { - opacity: 0.5; -} -.search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.875rem !important; - } -} -@media (min-width: 50rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.6875rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; - } -} -.search-result-doc .search-result-icon { - width: 1rem; - height: 1rem; - margin-right: 0.5rem; - color: #67EA94; - flex-shrink: 0; -} -.search-result-doc .search-result-doc-title { - overflow: auto; -} - -.search-result-section { - margin-left: 1.5rem; - word-wrap: break-word; -} - -.search-result-rel-url { - display: block; - margin-left: 1.5rem; - overflow: hidden; - color: #B8BAC8; - text-overflow: ellipsis; - white-space: nowrap; -} -.search-result-rel-url { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .search-result-rel-url { - font-size: 0.625rem !important; - } -} - -.search-result-previews { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - margin-left: 0.5rem; - color: #B8BAC8; - word-wrap: break-word; - border-left: 1px solid; - border-left-color: #3D3E50; -} -.search-result-previews { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .search-result-previews { - font-size: 0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .search-result-previews { - display: inline-block; - width: 60%; - padding-left: 0.5rem; - margin-left: 0; - vertical-align: top; - } -} - -.search-result-preview + .search-result-preview { - margin-top: 0.25rem; -} - -.search-result-highlight { - font-weight: bold; -} - -.search-no-result { - padding: 0.5rem 0.75rem; -} -.search-no-result { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-no-result { - font-size: 0.875rem !important; - } -} - -.search-button { - position: fixed; - right: 1rem; - bottom: 1rem; - display: flex; - width: 3.5rem; - height: 3.5rem; - background-color: #242533; - border: 1px solid rgba(103, 234, 148, 0.3); - border-radius: 1.75rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - align-items: center; - justify-content: center; -} - -.search-overlay { - position: fixed; - top: 0; - left: 0; - z-index: 1; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.3); - opacity: 0; - transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; -} - -.search-active .search { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; -} -.search-active .search-input-wrap { - height: 4rem; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-active .search-input-wrap { - width: 33.5rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - } -} -.search-active .search-input { - background-color: #242533; -} -@media (min-width: 50rem) { - .search-active .search-input { - padding-left: 2.3rem; - } -} -@media (min-width: 50rem) { - .search-active .search-label { - padding-left: 0.6rem; - } -} -.search-active .search-results { - display: block; -} -.search-active .search-overlay { - width: 100%; - height: 100%; - opacity: 1; - transition: opacity ease 400ms, width 0s, height 0s; -} -@media (min-width: 50rem) { - .search-active .main { - position: fixed; - right: 0; - left: 0; - } -} -.search-active .main-header { - padding-top: 4rem; -} -@media (min-width: 50rem) { - .search-active .main-header { - padding-top: 0; - } -} - -.table-wrapper { - display: block; - width: 100%; - max-width: 100%; - margin-bottom: 1.5rem; - overflow-x: auto; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} - -table { - display: table; - min-width: 100%; - border-collapse: separate; -} - -th, -td { - min-width: 7.5rem; - padding: 0.5rem 0.75rem; - background-color: #242533; - border-bottom: 1px solid rgba(61, 62, 80, 0.5); - border-left: 1px solid #3D3E50; -} -th, -td { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - th, - td { - font-size: 0.875rem !important; - } -} -th:first-of-type, -td:first-of-type { - border-left: 0; -} - -tbody tr:last-of-type th, -tbody tr:last-of-type td { - border-bottom: 0; -} -tbody tr:last-of-type td { - padding-bottom: 0.75rem; -} - -thead th { - border-bottom: 1px solid #3D3E50; -} - -:not(pre, figure) > code { - padding: 0.2em 0.15em; - font-weight: 400; - background-color: #0F1017; - border: 1px solid #3D3E50; - border-radius: 4px; -} - -a:visited code { - border-color: #3D3E50; -} - -div.highlighter-rouge, -div.listingblock > div.content, -figure.highlight { - margin-top: 0; - margin-bottom: 0.75rem; - background-color: #0F1017; - border-radius: 4px; - box-shadow: none; - -webkit-overflow-scrolling: touch; - position: relative; - padding: 0; -} -div.highlighter-rouge > button, -div.listingblock > div.content > button, -figure.highlight > button { - width: 0.75rem; - opacity: 0; - position: absolute; - top: 0; - right: 0; - padding: 0.75rem; - border: none; - background: none; - color: #ECEDF3; - box-sizing: content-box; -} -div.highlighter-rouge > button svg, -div.listingblock > div.content > button svg, -figure.highlight > button svg { - fill: #ECEDF3; -} -div.highlighter-rouge > button:active, -div.listingblock > div.content > button:active, -figure.highlight > button:active { - text-decoration: none; - outline: none; - opacity: 1; -} -div.highlighter-rouge > button:focus, -div.listingblock > div.content > button:focus, -figure.highlight > button:focus { - opacity: 1; - outline: 2px solid #67EA94; -} -div.highlighter-rouge:hover > button, -div.listingblock > div.content:hover > button, -figure.highlight:hover > button { - cursor: copy; - opacity: 1; -} - -div.highlighter-rouge div.highlight { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #ECEDF3; - border-radius: 4px; -} -div.highlighter-rouge pre.highlight, -div.highlighter-rouge code { - padding: 0; - margin: 0; - border: 0; -} - -div.listingblock { - margin-top: 0; - margin-bottom: 0.75rem; -} -div.listingblock div.content { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #ECEDF3; - border-radius: 4px; -} -div.listingblock div.content > pre, -div.listingblock code { - padding: 0; - margin: 0; - border: 0; -} - -figure.highlight pre, -figure.highlight :not(pre) > code { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #ECEDF3; - border-radius: 4px; -} - -.highlight .table-wrapper { - padding: 0.75rem 0; - margin: 0; - border: 0; - box-shadow: none; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - min-width: 0; - padding: 0; - background-color: #0F1017; - border: 0; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .highlight .table-wrapper td, - .highlight .table-wrapper pre { - font-size: 0.75rem !important; - } -} -.highlight .table-wrapper td.gl { - width: 1em; - padding-right: 0.75rem; - padding-left: 0.75rem; -} -.highlight .table-wrapper pre { - margin: 0; - line-height: 2; -} - -.code-example, -.listingblock > .title { - padding: 0.75rem; - margin-bottom: 0.75rem; - overflow: auto; - border: 1px solid #3D3E50; - border-radius: 4px; -} -.code-example + .highlighter-rouge, -.code-example + .sectionbody .listingblock, -.code-example + .content, -.code-example + figure.highlight, -.listingblock > .title + .highlighter-rouge, -.listingblock > .title + .sectionbody .listingblock, -.listingblock > .title + .content, -.listingblock > .title + figure.highlight { - position: relative; - margin-top: -1rem; - border-right: 1px solid #3D3E50; - border-bottom: 1px solid #3D3E50; - border-left: 1px solid #3D3E50; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -code.language-mermaid { - padding: 0; - background-color: inherit; - border: 0; -} - -.highlight, -pre.highlight { - background: #0F1017; - color: #9496A6; -} - -.highlight pre { - background: #0F1017; -} - -.text-grey-dk-000 { - color: #959396 !important; -} - -.text-grey-dk-100 { - color: #5c5962 !important; -} - -.text-grey-dk-200 { - color: #44434d !important; -} - -.text-grey-dk-250 { - color: #302d36 !important; -} - -.text-grey-dk-300 { - color: #27262b !important; -} - -.text-grey-lt-000 { - color: #f5f6fa !important; -} - -.text-grey-lt-100 { - color: #eeebee !important; -} - -.text-grey-lt-200 { - color: #ecebed !important; -} - -.text-grey-lt-300 { - color: #e6e1e8 !important; -} - -.text-blue-000 { - color: #2c84fa !important; -} - -.text-blue-100 { - color: #2869e6 !important; -} - -.text-blue-200 { - color: #264caf !important; -} - -.text-blue-300 { - color: #183385 !important; -} - -.text-green-000 { - color: #41d693 !important; -} - -.text-green-100 { - color: #11b584 !important; -} - -.text-green-200 { - color: #009c7b !important; -} - -.text-green-300 { - color: #026e57 !important; -} - -.text-purple-000 { - color: #7253ed !important; -} - -.text-purple-100 { - color: #5e41d0 !important; -} - -.text-purple-200 { - color: #4e26af !important; -} - -.text-purple-300 { - color: #381885 !important; -} - -.text-yellow-000 { - color: #ffeb82 !important; -} - -.text-yellow-100 { - color: #fadf50 !important; -} - -.text-yellow-200 { - color: #f7d12e !important; -} - -.text-yellow-300 { - color: #e7af06 !important; -} - -.text-red-000 { - color: #f77e7e !important; -} - -.text-red-100 { - color: #f96e65 !important; -} - -.text-red-200 { - color: #e94c4c !important; -} - -.text-red-300 { - color: #dd2e2e !important; -} - -.bg-grey-dk-000 { - background-color: #959396 !important; -} - -.bg-grey-dk-100 { - background-color: #5c5962 !important; -} - -.bg-grey-dk-200 { - background-color: #44434d !important; -} - -.bg-grey-dk-250 { - background-color: #302d36 !important; -} - -.bg-grey-dk-300 { - background-color: #27262b !important; -} - -.bg-grey-lt-000 { - background-color: #f5f6fa !important; -} - -.bg-grey-lt-100 { - background-color: #eeebee !important; -} - -.bg-grey-lt-200 { - background-color: #ecebed !important; -} - -.bg-grey-lt-300 { - background-color: #e6e1e8 !important; -} - -.bg-blue-000 { - background-color: #2c84fa !important; -} - -.bg-blue-100 { - background-color: #2869e6 !important; -} - -.bg-blue-200 { - background-color: #264caf !important; -} - -.bg-blue-300 { - background-color: #183385 !important; -} - -.bg-green-000 { - background-color: #41d693 !important; -} - -.bg-green-100 { - background-color: #11b584 !important; -} - -.bg-green-200 { - background-color: #009c7b !important; -} - -.bg-green-300 { - background-color: #026e57 !important; -} - -.bg-purple-000 { - background-color: #7253ed !important; -} - -.bg-purple-100 { - background-color: #5e41d0 !important; -} - -.bg-purple-200 { - background-color: #4e26af !important; -} - -.bg-purple-300 { - background-color: #381885 !important; -} - -.bg-yellow-000 { - background-color: #ffeb82 !important; -} - -.bg-yellow-100 { - background-color: #fadf50 !important; -} - -.bg-yellow-200 { - background-color: #f7d12e !important; -} - -.bg-yellow-300 { - background-color: #e7af06 !important; -} - -.bg-red-000 { - background-color: #f77e7e !important; -} - -.bg-red-100 { - background-color: #f96e65 !important; -} - -.bg-red-200 { - background-color: #e94c4c !important; -} - -.bg-red-300 { - background-color: #dd2e2e !important; -} - -.d-block { - display: block !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-none { - display: none !important; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.flex-justify-start { - justify-content: flex-start !important; -} - -.flex-justify-end { - justify-content: flex-end !important; -} - -.flex-justify-between { - justify-content: space-between !important; -} - -.flex-justify-around { - justify-content: space-around !important; -} - -.v-align-baseline { - vertical-align: baseline !important; -} - -.v-align-bottom { - vertical-align: bottom !important; -} - -.v-align-middle { - vertical-align: middle !important; -} - -.v-align-text-bottom { - vertical-align: text-bottom !important; -} - -.v-align-text-top { - vertical-align: text-top !important; -} - -.v-align-top { - vertical-align: top !important; -} - -.fs-1 { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .fs-1 { - font-size: 0.625rem !important; - } -} - -.fs-2 { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .fs-2 { - font-size: 0.75rem !important; - } -} - -.fs-3 { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .fs-3 { - font-size: 0.875rem !important; - } -} - -.fs-4 { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .fs-4 { - font-size: 1rem !important; - } -} - -.fs-5 { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - .fs-5 { - font-size: 1.125rem !important; - } -} - -.fs-6 { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .fs-6 { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -.fs-7 { - font-size: 1.5rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-7 { - font-size: 2rem !important; - } -} - -.fs-8 { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-8 { - font-size: 2.25rem !important; - } -} - -.fs-9 { - font-size: 2.25rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-9 { - font-size: 2.625rem !important; - } -} - -.fs-10 { - font-size: 2.625rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-10 { - font-size: 3rem !important; - } -} - -.fw-300 { - font-weight: 300 !important; -} - -.fw-400 { - font-weight: 400 !important; -} - -.fw-500 { - font-weight: 500 !important; -} - -.fw-700 { - font-weight: 700 !important; -} - -.lh-0 { - line-height: 0 !important; -} - -.lh-default { - line-height: 1.4; -} - -.lh-tight { - line-height: 1.25; -} - -.ls-5 { - letter-spacing: 0.05em !important; -} - -.ls-10 { - letter-spacing: 0.1em !important; -} - -.ls-0 { - letter-spacing: 0 !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.list-style-none { - padding: 0 !important; - margin: 0 !important; - list-style: none !important; -} -.list-style-none li::before { - display: none !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.mxn-0 { - margin-right: -0 !important; - margin-left: -0 !important; -} - -.mx-0-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.mxn-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; -} - -.mx-1-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.mxn-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; -} - -.mx-2-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-3 { - margin: 0.75rem !important; -} - -.mt-3 { - margin-top: 0.75rem !important; -} - -.mr-3 { - margin-right: 0.75rem !important; -} - -.mb-3 { - margin-bottom: 0.75rem !important; -} - -.ml-3 { - margin-left: 0.75rem !important; -} - -.mx-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; -} - -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} - -.mxn-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; -} - -.mx-3-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-4 { - margin: 1rem !important; -} - -.mt-4 { - margin-top: 1rem !important; -} - -.mr-4 { - margin-right: 1rem !important; -} - -.mb-4 { - margin-bottom: 1rem !important; -} - -.ml-4 { - margin-left: 1rem !important; -} - -.mx-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.mxn-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; -} - -.mx-4-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-5 { - margin: 1.5rem !important; -} - -.mt-5 { - margin-top: 1.5rem !important; -} - -.mr-5 { - margin-right: 1.5rem !important; -} - -.mb-5 { - margin-bottom: 1.5rem !important; -} - -.ml-5 { - margin-left: 1.5rem !important; -} - -.mx-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.mxn-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; -} - -.mx-5-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-6 { - margin: 2rem !important; -} - -.mt-6 { - margin-top: 2rem !important; -} - -.mr-6 { - margin-right: 2rem !important; -} - -.mb-6 { - margin-bottom: 2rem !important; -} - -.ml-6 { - margin-left: 2rem !important; -} - -.mx-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; -} - -.my-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.mxn-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; -} - -.mx-6-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-7 { - margin: 2.5rem !important; -} - -.mt-7 { - margin-top: 2.5rem !important; -} - -.mr-7 { - margin-right: 2.5rem !important; -} - -.mb-7 { - margin-bottom: 2.5rem !important; -} - -.ml-7 { - margin-left: 2.5rem !important; -} - -.mx-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; -} - -.my-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; -} - -.mxn-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; -} - -.mx-7-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-8 { - margin: 3rem !important; -} - -.mt-8 { - margin-top: 3rem !important; -} - -.mr-8 { - margin-right: 3rem !important; -} - -.mb-8 { - margin-bottom: 3rem !important; -} - -.ml-8 { - margin-left: 3rem !important; -} - -.mx-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.mxn-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; -} - -.mx-8-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-9 { - margin: 3.5rem !important; -} - -.mt-9 { - margin-top: 3.5rem !important; -} - -.mr-9 { - margin-right: 3.5rem !important; -} - -.mb-9 { - margin-bottom: 3.5rem !important; -} - -.ml-9 { - margin-left: 3.5rem !important; -} - -.mx-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; -} - -.my-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; -} - -.mxn-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; -} - -.mx-9-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-10 { - margin: 4rem !important; -} - -.mt-10 { - margin-top: 4rem !important; -} - -.mr-10 { - margin-right: 4rem !important; -} - -.mb-10 { - margin-bottom: 4rem !important; -} - -.ml-10 { - margin-left: 4rem !important; -} - -.mx-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; -} - -.my-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.mxn-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; -} - -.mx-10-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -@media (min-width: 20rem) { - .m-xs-0 { - margin: 0 !important; - } - .mt-xs-0 { - margin-top: 0 !important; - } - .mr-xs-0 { - margin-right: 0 !important; - } - .mb-xs-0 { - margin-bottom: 0 !important; - } - .ml-xs-0 { - margin-left: 0 !important; - } - .mx-xs-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xs-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xs-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 20rem) { - .m-xs-1 { - margin: 0.25rem !important; - } - .mt-xs-1 { - margin-top: 0.25rem !important; - } - .mr-xs-1 { - margin-right: 0.25rem !important; - } - .mb-xs-1 { - margin-bottom: 0.25rem !important; - } - .ml-xs-1 { - margin-left: 0.25rem !important; - } - .mx-xs-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xs-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xs-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-2 { - margin: 0.5rem !important; - } - .mt-xs-2 { - margin-top: 0.5rem !important; - } - .mr-xs-2 { - margin-right: 0.5rem !important; - } - .mb-xs-2 { - margin-bottom: 0.5rem !important; - } - .ml-xs-2 { - margin-left: 0.5rem !important; - } - .mx-xs-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xs-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xs-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-3 { - margin: 0.75rem !important; - } - .mt-xs-3 { - margin-top: 0.75rem !important; - } - .mr-xs-3 { - margin-right: 0.75rem !important; - } - .mb-xs-3 { - margin-bottom: 0.75rem !important; - } - .ml-xs-3 { - margin-left: 0.75rem !important; - } - .mx-xs-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xs-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xs-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-4 { - margin: 1rem !important; - } - .mt-xs-4 { - margin-top: 1rem !important; - } - .mr-xs-4 { - margin-right: 1rem !important; - } - .mb-xs-4 { - margin-bottom: 1rem !important; - } - .ml-xs-4 { - margin-left: 1rem !important; - } - .mx-xs-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xs-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xs-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-5 { - margin: 1.5rem !important; - } - .mt-xs-5 { - margin-top: 1.5rem !important; - } - .mr-xs-5 { - margin-right: 1.5rem !important; - } - .mb-xs-5 { - margin-bottom: 1.5rem !important; - } - .ml-xs-5 { - margin-left: 1.5rem !important; - } - .mx-xs-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xs-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xs-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-6 { - margin: 2rem !important; - } - .mt-xs-6 { - margin-top: 2rem !important; - } - .mr-xs-6 { - margin-right: 2rem !important; - } - .mb-xs-6 { - margin-bottom: 2rem !important; - } - .ml-xs-6 { - margin-left: 2rem !important; - } - .mx-xs-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xs-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xs-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-7 { - margin: 2.5rem !important; - } - .mt-xs-7 { - margin-top: 2.5rem !important; - } - .mr-xs-7 { - margin-right: 2.5rem !important; - } - .mb-xs-7 { - margin-bottom: 2.5rem !important; - } - .ml-xs-7 { - margin-left: 2.5rem !important; - } - .mx-xs-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xs-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xs-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-8 { - margin: 3rem !important; - } - .mt-xs-8 { - margin-top: 3rem !important; - } - .mr-xs-8 { - margin-right: 3rem !important; - } - .mb-xs-8 { - margin-bottom: 3rem !important; - } - .ml-xs-8 { - margin-left: 3rem !important; - } - .mx-xs-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xs-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xs-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-9 { - margin: 3.5rem !important; - } - .mt-xs-9 { - margin-top: 3.5rem !important; - } - .mr-xs-9 { - margin-right: 3.5rem !important; - } - .mb-xs-9 { - margin-bottom: 3.5rem !important; - } - .ml-xs-9 { - margin-left: 3.5rem !important; - } - .mx-xs-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xs-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xs-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-10 { - margin: 4rem !important; - } - .mt-xs-10 { - margin-top: 4rem !important; - } - .mr-xs-10 { - margin-right: 4rem !important; - } - .mb-xs-10 { - margin-bottom: 4rem !important; - } - .ml-xs-10 { - margin-left: 4rem !important; - } - .mx-xs-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xs-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xs-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-sm-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-sm-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-sm-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-3 { - margin: 0.75rem !important; - } - .mt-sm-3 { - margin-top: 0.75rem !important; - } - .mr-sm-3 { - margin-right: 0.75rem !important; - } - .mb-sm-3 { - margin-bottom: 0.75rem !important; - } - .ml-sm-3 { - margin-left: 0.75rem !important; - } - .mx-sm-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-sm-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-sm-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-4 { - margin: 1rem !important; - } - .mt-sm-4 { - margin-top: 1rem !important; - } - .mr-sm-4 { - margin-right: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 1rem !important; - } - .ml-sm-4 { - margin-left: 1rem !important; - } - .mx-sm-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-sm-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-5 { - margin: 1.5rem !important; - } - .mt-sm-5 { - margin-top: 1.5rem !important; - } - .mr-sm-5 { - margin-right: 1.5rem !important; - } - .mb-sm-5 { - margin-bottom: 1.5rem !important; - } - .ml-sm-5 { - margin-left: 1.5rem !important; - } - .mx-sm-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-sm-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-6 { - margin: 2rem !important; - } - .mt-sm-6 { - margin-top: 2rem !important; - } - .mr-sm-6 { - margin-right: 2rem !important; - } - .mb-sm-6 { - margin-bottom: 2rem !important; - } - .ml-sm-6 { - margin-left: 2rem !important; - } - .mx-sm-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-sm-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-sm-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-7 { - margin: 2.5rem !important; - } - .mt-sm-7 { - margin-top: 2.5rem !important; - } - .mr-sm-7 { - margin-right: 2.5rem !important; - } - .mb-sm-7 { - margin-bottom: 2.5rem !important; - } - .ml-sm-7 { - margin-left: 2.5rem !important; - } - .mx-sm-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-sm-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-sm-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-8 { - margin: 3rem !important; - } - .mt-sm-8 { - margin-top: 3rem !important; - } - .mr-sm-8 { - margin-right: 3rem !important; - } - .mb-sm-8 { - margin-bottom: 3rem !important; - } - .ml-sm-8 { - margin-left: 3rem !important; - } - .mx-sm-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-sm-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-9 { - margin: 3.5rem !important; - } - .mt-sm-9 { - margin-top: 3.5rem !important; - } - .mr-sm-9 { - margin-right: 3.5rem !important; - } - .mb-sm-9 { - margin-bottom: 3.5rem !important; - } - .ml-sm-9 { - margin-left: 3.5rem !important; - } - .mx-sm-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-sm-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-sm-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-10 { - margin: 4rem !important; - } - .mt-sm-10 { - margin-top: 4rem !important; - } - .mr-sm-10 { - margin-right: 4rem !important; - } - .mb-sm-10 { - margin-bottom: 4rem !important; - } - .ml-sm-10 { - margin-left: 4rem !important; - } - .mx-sm-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-sm-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-sm-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 50rem) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-md-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 50rem) { - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-md-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 50rem) { - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-md-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-3 { - margin: 0.75rem !important; - } - .mt-md-3 { - margin-top: 0.75rem !important; - } - .mr-md-3 { - margin-right: 0.75rem !important; - } - .mb-md-3 { - margin-bottom: 0.75rem !important; - } - .ml-md-3 { - margin-left: 0.75rem !important; - } - .mx-md-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-md-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-md-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 50rem) { - .m-md-4 { - margin: 1rem !important; - } - .mt-md-4 { - margin-top: 1rem !important; - } - .mr-md-4 { - margin-right: 1rem !important; - } - .mb-md-4 { - margin-bottom: 1rem !important; - } - .ml-md-4 { - margin-left: 1rem !important; - } - .mx-md-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-md-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 50rem) { - .m-md-5 { - margin: 1.5rem !important; - } - .mt-md-5 { - margin-top: 1.5rem !important; - } - .mr-md-5 { - margin-right: 1.5rem !important; - } - .mb-md-5 { - margin-bottom: 1.5rem !important; - } - .ml-md-5 { - margin-left: 1.5rem !important; - } - .mx-md-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-md-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-6 { - margin: 2rem !important; - } - .mt-md-6 { - margin-top: 2rem !important; - } - .mr-md-6 { - margin-right: 2rem !important; - } - .mb-md-6 { - margin-bottom: 2rem !important; - } - .ml-md-6 { - margin-left: 2rem !important; - } - .mx-md-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-md-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-md-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 50rem) { - .m-md-7 { - margin: 2.5rem !important; - } - .mt-md-7 { - margin-top: 2.5rem !important; - } - .mr-md-7 { - margin-right: 2.5rem !important; - } - .mb-md-7 { - margin-bottom: 2.5rem !important; - } - .ml-md-7 { - margin-left: 2.5rem !important; - } - .mx-md-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-md-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-md-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-8 { - margin: 3rem !important; - } - .mt-md-8 { - margin-top: 3rem !important; - } - .mr-md-8 { - margin-right: 3rem !important; - } - .mb-md-8 { - margin-bottom: 3rem !important; - } - .ml-md-8 { - margin-left: 3rem !important; - } - .mx-md-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-md-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 50rem) { - .m-md-9 { - margin: 3.5rem !important; - } - .mt-md-9 { - margin-top: 3.5rem !important; - } - .mr-md-9 { - margin-right: 3.5rem !important; - } - .mb-md-9 { - margin-bottom: 3.5rem !important; - } - .ml-md-9 { - margin-left: 3.5rem !important; - } - .mx-md-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-md-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-md-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-10 { - margin: 4rem !important; - } - .mt-md-10 { - margin-top: 4rem !important; - } - .mr-md-10 { - margin-right: 4rem !important; - } - .mb-md-10 { - margin-bottom: 4rem !important; - } - .ml-md-10 { - margin-left: 4rem !important; - } - .mx-md-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-md-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-md-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-lg-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-lg-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-lg-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-3 { - margin: 0.75rem !important; - } - .mt-lg-3 { - margin-top: 0.75rem !important; - } - .mr-lg-3 { - margin-right: 0.75rem !important; - } - .mb-lg-3 { - margin-bottom: 0.75rem !important; - } - .ml-lg-3 { - margin-left: 0.75rem !important; - } - .mx-lg-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-lg-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-lg-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-4 { - margin: 1rem !important; - } - .mt-lg-4 { - margin-top: 1rem !important; - } - .mr-lg-4 { - margin-right: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 1rem !important; - } - .ml-lg-4 { - margin-left: 1rem !important; - } - .mx-lg-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-lg-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-5 { - margin: 1.5rem !important; - } - .mt-lg-5 { - margin-top: 1.5rem !important; - } - .mr-lg-5 { - margin-right: 1.5rem !important; - } - .mb-lg-5 { - margin-bottom: 1.5rem !important; - } - .ml-lg-5 { - margin-left: 1.5rem !important; - } - .mx-lg-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-lg-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-6 { - margin: 2rem !important; - } - .mt-lg-6 { - margin-top: 2rem !important; - } - .mr-lg-6 { - margin-right: 2rem !important; - } - .mb-lg-6 { - margin-bottom: 2rem !important; - } - .ml-lg-6 { - margin-left: 2rem !important; - } - .mx-lg-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-lg-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-lg-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-7 { - margin: 2.5rem !important; - } - .mt-lg-7 { - margin-top: 2.5rem !important; - } - .mr-lg-7 { - margin-right: 2.5rem !important; - } - .mb-lg-7 { - margin-bottom: 2.5rem !important; - } - .ml-lg-7 { - margin-left: 2.5rem !important; - } - .mx-lg-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-lg-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-lg-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-8 { - margin: 3rem !important; - } - .mt-lg-8 { - margin-top: 3rem !important; - } - .mr-lg-8 { - margin-right: 3rem !important; - } - .mb-lg-8 { - margin-bottom: 3rem !important; - } - .ml-lg-8 { - margin-left: 3rem !important; - } - .mx-lg-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-lg-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-9 { - margin: 3.5rem !important; - } - .mt-lg-9 { - margin-top: 3.5rem !important; - } - .mr-lg-9 { - margin-right: 3.5rem !important; - } - .mb-lg-9 { - margin-bottom: 3.5rem !important; - } - .ml-lg-9 { - margin-left: 3.5rem !important; - } - .mx-lg-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-lg-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-lg-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-10 { - margin: 4rem !important; - } - .mt-lg-10 { - margin-top: 4rem !important; - } - .mr-lg-10 { - margin-right: 4rem !important; - } - .mb-lg-10 { - margin-bottom: 4rem !important; - } - .ml-lg-10 { - margin-left: 4rem !important; - } - .mx-lg-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-lg-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-lg-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xl-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xl-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xl-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-3 { - margin: 0.75rem !important; - } - .mt-xl-3 { - margin-top: 0.75rem !important; - } - .mr-xl-3 { - margin-right: 0.75rem !important; - } - .mb-xl-3 { - margin-bottom: 0.75rem !important; - } - .ml-xl-3 { - margin-left: 0.75rem !important; - } - .mx-xl-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xl-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xl-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-4 { - margin: 1rem !important; - } - .mt-xl-4 { - margin-top: 1rem !important; - } - .mr-xl-4 { - margin-right: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 1rem !important; - } - .ml-xl-4 { - margin-left: 1rem !important; - } - .mx-xl-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xl-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-5 { - margin: 1.5rem !important; - } - .mt-xl-5 { - margin-top: 1.5rem !important; - } - .mr-xl-5 { - margin-right: 1.5rem !important; - } - .mb-xl-5 { - margin-bottom: 1.5rem !important; - } - .ml-xl-5 { - margin-left: 1.5rem !important; - } - .mx-xl-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xl-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-6 { - margin: 2rem !important; - } - .mt-xl-6 { - margin-top: 2rem !important; - } - .mr-xl-6 { - margin-right: 2rem !important; - } - .mb-xl-6 { - margin-bottom: 2rem !important; - } - .ml-xl-6 { - margin-left: 2rem !important; - } - .mx-xl-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xl-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xl-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-7 { - margin: 2.5rem !important; - } - .mt-xl-7 { - margin-top: 2.5rem !important; - } - .mr-xl-7 { - margin-right: 2.5rem !important; - } - .mb-xl-7 { - margin-bottom: 2.5rem !important; - } - .ml-xl-7 { - margin-left: 2.5rem !important; - } - .mx-xl-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xl-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xl-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-8 { - margin: 3rem !important; - } - .mt-xl-8 { - margin-top: 3rem !important; - } - .mr-xl-8 { - margin-right: 3rem !important; - } - .mb-xl-8 { - margin-bottom: 3rem !important; - } - .ml-xl-8 { - margin-left: 3rem !important; - } - .mx-xl-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xl-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-9 { - margin: 3.5rem !important; - } - .mt-xl-9 { - margin-top: 3.5rem !important; - } - .mr-xl-9 { - margin-right: 3.5rem !important; - } - .mb-xl-9 { - margin-bottom: 3.5rem !important; - } - .ml-xl-9 { - margin-left: 3.5rem !important; - } - .mx-xl-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xl-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xl-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-10 { - margin: 4rem !important; - } - .mt-xl-10 { - margin-top: 4rem !important; - } - .mr-xl-10 { - margin-right: 4rem !important; - } - .mb-xl-10 { - margin-bottom: 4rem !important; - } - .ml-xl-10 { - margin-left: 4rem !important; - } - .mx-xl-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xl-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xl-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -.p-0 { - padding: 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 0.75rem !important; -} - -.pt-3 { - padding-top: 0.75rem !important; -} - -.pr-3 { - padding-right: 0.75rem !important; -} - -.pb-3 { - padding-bottom: 0.75rem !important; -} - -.pl-3 { - padding-left: 0.75rem !important; -} - -.px-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; -} - -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} - -.p-4 { - padding: 1rem !important; -} - -.pt-4 { - padding-top: 1rem !important; -} - -.pr-4 { - padding-right: 1rem !important; -} - -.pb-4 { - padding-bottom: 1rem !important; -} - -.pl-4 { - padding-left: 1rem !important; -} - -.px-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-5 { - padding: 1.5rem !important; -} - -.pt-5 { - padding-top: 1.5rem !important; -} - -.pr-5 { - padding-right: 1.5rem !important; -} - -.pb-5 { - padding-bottom: 1.5rem !important; -} - -.pl-5 { - padding-left: 1.5rem !important; -} - -.px-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-6 { - padding: 2rem !important; -} - -.pt-6 { - padding-top: 2rem !important; -} - -.pr-6 { - padding-right: 2rem !important; -} - -.pb-6 { - padding-bottom: 2rem !important; -} - -.pl-6 { - padding-left: 2rem !important; -} - -.px-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; -} - -.py-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.p-7 { - padding: 2.5rem !important; -} - -.pt-7 { - padding-top: 2.5rem !important; -} - -.pr-7 { - padding-right: 2.5rem !important; -} - -.pb-7 { - padding-bottom: 2.5rem !important; -} - -.pl-7 { - padding-left: 2.5rem !important; -} - -.px-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; -} - -.py-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; -} - -.p-8 { - padding: 3rem !important; -} - -.pt-8 { - padding-top: 3rem !important; -} - -.pr-8 { - padding-right: 3rem !important; -} - -.pb-8 { - padding-bottom: 3rem !important; -} - -.pl-8 { - padding-left: 3rem !important; -} - -.px-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.p-9 { - padding: 3.5rem !important; -} - -.pt-9 { - padding-top: 3.5rem !important; -} - -.pr-9 { - padding-right: 3.5rem !important; -} - -.pb-9 { - padding-bottom: 3.5rem !important; -} - -.pl-9 { - padding-left: 3.5rem !important; -} - -.px-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; -} - -.py-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; -} - -.p-10 { - padding: 4rem !important; -} - -.pt-10 { - padding-top: 4rem !important; -} - -.pr-10 { - padding-right: 4rem !important; -} - -.pb-10 { - padding-bottom: 4rem !important; -} - -.pl-10 { - padding-left: 4rem !important; -} - -.px-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; -} - -.py-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -@media (min-width: 20rem) { - .p-xs-0 { - padding: 0 !important; - } - .pt-xs-0 { - padding-top: 0 !important; - } - .pr-xs-0 { - padding-right: 0 !important; - } - .pb-xs-0 { - padding-bottom: 0 !important; - } - .pl-xs-0 { - padding-left: 0 !important; - } - .px-xs-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xs-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xs-1 { - padding: 0.25rem !important; - } - .pt-xs-1 { - padding-top: 0.25rem !important; - } - .pr-xs-1 { - padding-right: 0.25rem !important; - } - .pb-xs-1 { - padding-bottom: 0.25rem !important; - } - .pl-xs-1 { - padding-left: 0.25rem !important; - } - .px-xs-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xs-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xs-2 { - padding: 0.5rem !important; - } - .pt-xs-2 { - padding-top: 0.5rem !important; - } - .pr-xs-2 { - padding-right: 0.5rem !important; - } - .pb-xs-2 { - padding-bottom: 0.5rem !important; - } - .pl-xs-2 { - padding-left: 0.5rem !important; - } - .px-xs-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xs-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xs-3 { - padding: 0.75rem !important; - } - .pt-xs-3 { - padding-top: 0.75rem !important; - } - .pr-xs-3 { - padding-right: 0.75rem !important; - } - .pb-xs-3 { - padding-bottom: 0.75rem !important; - } - .pl-xs-3 { - padding-left: 0.75rem !important; - } - .px-xs-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xs-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xs-4 { - padding: 1rem !important; - } - .pt-xs-4 { - padding-top: 1rem !important; - } - .pr-xs-4 { - padding-right: 1rem !important; - } - .pb-xs-4 { - padding-bottom: 1rem !important; - } - .pl-xs-4 { - padding-left: 1rem !important; - } - .px-xs-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xs-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xs-5 { - padding: 1.5rem !important; - } - .pt-xs-5 { - padding-top: 1.5rem !important; - } - .pr-xs-5 { - padding-right: 1.5rem !important; - } - .pb-xs-5 { - padding-bottom: 1.5rem !important; - } - .pl-xs-5 { - padding-left: 1.5rem !important; - } - .px-xs-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xs-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xs-6 { - padding: 2rem !important; - } - .pt-xs-6 { - padding-top: 2rem !important; - } - .pr-xs-6 { - padding-right: 2rem !important; - } - .pb-xs-6 { - padding-bottom: 2rem !important; - } - .pl-xs-6 { - padding-left: 2rem !important; - } - .px-xs-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xs-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xs-7 { - padding: 2.5rem !important; - } - .pt-xs-7 { - padding-top: 2.5rem !important; - } - .pr-xs-7 { - padding-right: 2.5rem !important; - } - .pb-xs-7 { - padding-bottom: 2.5rem !important; - } - .pl-xs-7 { - padding-left: 2.5rem !important; - } - .px-xs-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xs-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xs-8 { - padding: 3rem !important; - } - .pt-xs-8 { - padding-top: 3rem !important; - } - .pr-xs-8 { - padding-right: 3rem !important; - } - .pb-xs-8 { - padding-bottom: 3rem !important; - } - .pl-xs-8 { - padding-left: 3rem !important; - } - .px-xs-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xs-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xs-9 { - padding: 3.5rem !important; - } - .pt-xs-9 { - padding-top: 3.5rem !important; - } - .pr-xs-9 { - padding-right: 3.5rem !important; - } - .pb-xs-9 { - padding-bottom: 3.5rem !important; - } - .pl-xs-9 { - padding-left: 3.5rem !important; - } - .px-xs-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xs-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xs-10 { - padding: 4rem !important; - } - .pt-xs-10 { - padding-top: 4rem !important; - } - .pr-xs-10 { - padding-right: 4rem !important; - } - .pb-xs-10 { - padding-bottom: 4rem !important; - } - .pl-xs-10 { - padding-left: 4rem !important; - } - .px-xs-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xs-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 31.25rem) { - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 0.75rem !important; - } - .pt-sm-3 { - padding-top: 0.75rem !important; - } - .pr-sm-3 { - padding-right: 0.75rem !important; - } - .pb-sm-3 { - padding-bottom: 0.75rem !important; - } - .pl-sm-3 { - padding-left: 0.75rem !important; - } - .px-sm-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-sm-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-sm-4 { - padding: 1rem !important; - } - .pt-sm-4 { - padding-top: 1rem !important; - } - .pr-sm-4 { - padding-right: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 1rem !important; - } - .pl-sm-4 { - padding-left: 1rem !important; - } - .px-sm-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-5 { - padding: 1.5rem !important; - } - .pt-sm-5 { - padding-top: 1.5rem !important; - } - .pr-sm-5 { - padding-right: 1.5rem !important; - } - .pb-sm-5 { - padding-bottom: 1.5rem !important; - } - .pl-sm-5 { - padding-left: 1.5rem !important; - } - .px-sm-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-6 { - padding: 2rem !important; - } - .pt-sm-6 { - padding-top: 2rem !important; - } - .pr-sm-6 { - padding-right: 2rem !important; - } - .pb-sm-6 { - padding-bottom: 2rem !important; - } - .pl-sm-6 { - padding-left: 2rem !important; - } - .px-sm-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-sm-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-sm-7 { - padding: 2.5rem !important; - } - .pt-sm-7 { - padding-top: 2.5rem !important; - } - .pr-sm-7 { - padding-right: 2.5rem !important; - } - .pb-sm-7 { - padding-bottom: 2.5rem !important; - } - .pl-sm-7 { - padding-left: 2.5rem !important; - } - .px-sm-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-sm-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-sm-8 { - padding: 3rem !important; - } - .pt-sm-8 { - padding-top: 3rem !important; - } - .pr-sm-8 { - padding-right: 3rem !important; - } - .pb-sm-8 { - padding-bottom: 3rem !important; - } - .pl-sm-8 { - padding-left: 3rem !important; - } - .px-sm-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-sm-9 { - padding: 3.5rem !important; - } - .pt-sm-9 { - padding-top: 3.5rem !important; - } - .pr-sm-9 { - padding-right: 3.5rem !important; - } - .pb-sm-9 { - padding-bottom: 3.5rem !important; - } - .pl-sm-9 { - padding-left: 3.5rem !important; - } - .px-sm-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-sm-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-sm-10 { - padding: 4rem !important; - } - .pt-sm-10 { - padding-top: 4rem !important; - } - .pr-sm-10 { - padding-right: 4rem !important; - } - .pb-sm-10 { - padding-bottom: 4rem !important; - } - .pl-sm-10 { - padding-left: 4rem !important; - } - .px-sm-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-sm-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 50rem) { - .p-md-0 { - padding: 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 0.75rem !important; - } - .pt-md-3 { - padding-top: 0.75rem !important; - } - .pr-md-3 { - padding-right: 0.75rem !important; - } - .pb-md-3 { - padding-bottom: 0.75rem !important; - } - .pl-md-3 { - padding-left: 0.75rem !important; - } - .px-md-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-md-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-md-4 { - padding: 1rem !important; - } - .pt-md-4 { - padding-top: 1rem !important; - } - .pr-md-4 { - padding-right: 1rem !important; - } - .pb-md-4 { - padding-bottom: 1rem !important; - } - .pl-md-4 { - padding-left: 1rem !important; - } - .px-md-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-5 { - padding: 1.5rem !important; - } - .pt-md-5 { - padding-top: 1.5rem !important; - } - .pr-md-5 { - padding-right: 1.5rem !important; - } - .pb-md-5 { - padding-bottom: 1.5rem !important; - } - .pl-md-5 { - padding-left: 1.5rem !important; - } - .px-md-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-6 { - padding: 2rem !important; - } - .pt-md-6 { - padding-top: 2rem !important; - } - .pr-md-6 { - padding-right: 2rem !important; - } - .pb-md-6 { - padding-bottom: 2rem !important; - } - .pl-md-6 { - padding-left: 2rem !important; - } - .px-md-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-md-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-md-7 { - padding: 2.5rem !important; - } - .pt-md-7 { - padding-top: 2.5rem !important; - } - .pr-md-7 { - padding-right: 2.5rem !important; - } - .pb-md-7 { - padding-bottom: 2.5rem !important; - } - .pl-md-7 { - padding-left: 2.5rem !important; - } - .px-md-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-md-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-md-8 { - padding: 3rem !important; - } - .pt-md-8 { - padding-top: 3rem !important; - } - .pr-md-8 { - padding-right: 3rem !important; - } - .pb-md-8 { - padding-bottom: 3rem !important; - } - .pl-md-8 { - padding-left: 3rem !important; - } - .px-md-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-md-9 { - padding: 3.5rem !important; - } - .pt-md-9 { - padding-top: 3.5rem !important; - } - .pr-md-9 { - padding-right: 3.5rem !important; - } - .pb-md-9 { - padding-bottom: 3.5rem !important; - } - .pl-md-9 { - padding-left: 3.5rem !important; - } - .px-md-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-md-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-md-10 { - padding: 4rem !important; - } - .pt-md-10 { - padding-top: 4rem !important; - } - .pr-md-10 { - padding-right: 4rem !important; - } - .pb-md-10 { - padding-bottom: 4rem !important; - } - .pl-md-10 { - padding-left: 4rem !important; - } - .px-md-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-md-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 66.5rem) { - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 0.75rem !important; - } - .pt-lg-3 { - padding-top: 0.75rem !important; - } - .pr-lg-3 { - padding-right: 0.75rem !important; - } - .pb-lg-3 { - padding-bottom: 0.75rem !important; - } - .pl-lg-3 { - padding-left: 0.75rem !important; - } - .px-lg-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-lg-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-lg-4 { - padding: 1rem !important; - } - .pt-lg-4 { - padding-top: 1rem !important; - } - .pr-lg-4 { - padding-right: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 1rem !important; - } - .pl-lg-4 { - padding-left: 1rem !important; - } - .px-lg-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-5 { - padding: 1.5rem !important; - } - .pt-lg-5 { - padding-top: 1.5rem !important; - } - .pr-lg-5 { - padding-right: 1.5rem !important; - } - .pb-lg-5 { - padding-bottom: 1.5rem !important; - } - .pl-lg-5 { - padding-left: 1.5rem !important; - } - .px-lg-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-6 { - padding: 2rem !important; - } - .pt-lg-6 { - padding-top: 2rem !important; - } - .pr-lg-6 { - padding-right: 2rem !important; - } - .pb-lg-6 { - padding-bottom: 2rem !important; - } - .pl-lg-6 { - padding-left: 2rem !important; - } - .px-lg-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-lg-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-lg-7 { - padding: 2.5rem !important; - } - .pt-lg-7 { - padding-top: 2.5rem !important; - } - .pr-lg-7 { - padding-right: 2.5rem !important; - } - .pb-lg-7 { - padding-bottom: 2.5rem !important; - } - .pl-lg-7 { - padding-left: 2.5rem !important; - } - .px-lg-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-lg-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-lg-8 { - padding: 3rem !important; - } - .pt-lg-8 { - padding-top: 3rem !important; - } - .pr-lg-8 { - padding-right: 3rem !important; - } - .pb-lg-8 { - padding-bottom: 3rem !important; - } - .pl-lg-8 { - padding-left: 3rem !important; - } - .px-lg-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-lg-9 { - padding: 3.5rem !important; - } - .pt-lg-9 { - padding-top: 3.5rem !important; - } - .pr-lg-9 { - padding-right: 3.5rem !important; - } - .pb-lg-9 { - padding-bottom: 3.5rem !important; - } - .pl-lg-9 { - padding-left: 3.5rem !important; - } - .px-lg-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-lg-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-lg-10 { - padding: 4rem !important; - } - .pt-lg-10 { - padding-top: 4rem !important; - } - .pr-lg-10 { - padding-right: 4rem !important; - } - .pb-lg-10 { - padding-bottom: 4rem !important; - } - .pl-lg-10 { - padding-left: 4rem !important; - } - .px-lg-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-lg-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 87.5rem) { - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 0.75rem !important; - } - .pt-xl-3 { - padding-top: 0.75rem !important; - } - .pr-xl-3 { - padding-right: 0.75rem !important; - } - .pb-xl-3 { - padding-bottom: 0.75rem !important; - } - .pl-xl-3 { - padding-left: 0.75rem !important; - } - .px-xl-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xl-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xl-4 { - padding: 1rem !important; - } - .pt-xl-4 { - padding-top: 1rem !important; - } - .pr-xl-4 { - padding-right: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 1rem !important; - } - .pl-xl-4 { - padding-left: 1rem !important; - } - .px-xl-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-5 { - padding: 1.5rem !important; - } - .pt-xl-5 { - padding-top: 1.5rem !important; - } - .pr-xl-5 { - padding-right: 1.5rem !important; - } - .pb-xl-5 { - padding-bottom: 1.5rem !important; - } - .pl-xl-5 { - padding-left: 1.5rem !important; - } - .px-xl-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-6 { - padding: 2rem !important; - } - .pt-xl-6 { - padding-top: 2rem !important; - } - .pr-xl-6 { - padding-right: 2rem !important; - } - .pb-xl-6 { - padding-bottom: 2rem !important; - } - .pl-xl-6 { - padding-left: 2rem !important; - } - .px-xl-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xl-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xl-7 { - padding: 2.5rem !important; - } - .pt-xl-7 { - padding-top: 2.5rem !important; - } - .pr-xl-7 { - padding-right: 2.5rem !important; - } - .pb-xl-7 { - padding-bottom: 2.5rem !important; - } - .pl-xl-7 { - padding-left: 2.5rem !important; - } - .px-xl-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xl-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xl-8 { - padding: 3rem !important; - } - .pt-xl-8 { - padding-top: 3rem !important; - } - .pr-xl-8 { - padding-right: 3rem !important; - } - .pb-xl-8 { - padding-bottom: 3rem !important; - } - .pl-xl-8 { - padding-left: 3rem !important; - } - .px-xl-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xl-9 { - padding: 3.5rem !important; - } - .pt-xl-9 { - padding-top: 3.5rem !important; - } - .pr-xl-9 { - padding-right: 3.5rem !important; - } - .pb-xl-9 { - padding-bottom: 3.5rem !important; - } - .pl-xl-9 { - padding-left: 3.5rem !important; - } - .px-xl-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xl-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xl-10 { - padding: 4rem !important; - } - .pt-xl-10 { - padding-top: 4rem !important; - } - .pr-xl-10 { - padding-right: 4rem !important; - } - .pb-xl-10 { - padding-bottom: 4rem !important; - } - .pl-xl-10 { - padding-left: 4rem !important; - } - .px-xl-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xl-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media print { - .site-footer, - .site-button, - #edit-this-page, - #back-to-top, - .site-nav, - .main-header { - display: none !important; - } - hr { - margin-top: 1rem; - margin-bottom: 1rem; - } - .side-bar { - width: 100%; - height: auto; - border-right: 0 !important; - } - .site-header { - border-bottom: 1px solid #3D3E50; - } - .site-title { - font-size: 1rem !important; - font-weight: 700 !important; - } - .text-small { - font-size: 8pt !important; - } - pre.highlight { - border: 1px solid #3D3E50; - } - .main { - max-width: none; - margin-left: 0; - } -} -a.skip-to-main { - left: -999px; - position: absolute; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; - z-index: -999; -} - -a.skip-to-main:focus, -a.skip-to-main:active { - color: #67EA94; - background-color: #1A1B26; - left: auto; - top: auto; - width: 30%; - height: auto; - overflow: auto; - margin: 10px 35%; - padding: 5px; - border-radius: 15px; - border: 4px solid #67EA94; - text-align: center; - font-size: 1.2em; - z-index: 999; -} - -div.opaque { - background-color: #1A1B26; -} - -p.tip, blockquote.tip { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip::before, blockquote.tip::before { - color: #026e57; - content: "Tip"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.tip > .tip-title, blockquote.tip > .tip-title { - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.tip-title, blockquote.tip-title { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip-title > p:first-child, blockquote.tip-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.tip { - margin-left: 0; - margin-right: 0; -} -blockquote.tip > p:first-child { - margin-top: 0; -} -blockquote.tip > p:last-child { - margin-bottom: 0; -} - -blockquote.tip-title { - margin-left: 0; - margin-right: 0; -} -blockquote.tip-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.tip-title > p:last-child { - margin-bottom: 0; -} - -p.note, blockquote.note { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note::before, blockquote.note::before { - color: #183385; - content: "Note"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.note > .note-title, blockquote.note > .note-title { - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.note-title, blockquote.note-title { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note-title > p:first-child, blockquote.note-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.note { - margin-left: 0; - margin-right: 0; -} -blockquote.note > p:first-child { - margin-top: 0; -} -blockquote.note > p:last-child { - margin-bottom: 0; -} - -blockquote.note-title { - margin-left: 0; - margin-right: 0; -} -blockquote.note-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.note-title > p:last-child { - margin-bottom: 0; -} - -p.warning, blockquote.warning { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning::before, blockquote.warning::before { - color: #e7af06; - content: "Warning"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.warning > .warning-title, blockquote.warning > .warning-title { - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.warning-title, blockquote.warning-title { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning-title > p:first-child, blockquote.warning-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.warning { - margin-left: 0; - margin-right: 0; -} -blockquote.warning > p:first-child { - margin-top: 0; -} -blockquote.warning > p:last-child { - margin-bottom: 0; -} - -blockquote.warning-title { - margin-left: 0; - margin-right: 0; -} -blockquote.warning-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.warning-title > p:last-child { - margin-bottom: 0; -} - -/*# sourceMappingURL=just-the-docs-meshtastic-dark.css.map */ \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-meshtastic-dark.css.map b/v2.8.0/assets/css/just-the-docs-meshtastic-dark.css.map deleted file mode 100644 index dd031b6f56..0000000000 --- a/v2.8.0/assets/css/just-the-docs-meshtastic-dark.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/base.scss","../../_sass/color_schemes/meshtastic-dark.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/_variables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/content.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/navigation.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/labels.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/search.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/tables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/code.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_colors.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_lists.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_spacing.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/print.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/skiptomain.scss","just-the-docs-meshtastic-dark.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCGa;;;ADAf;EACE;;;AAGF;EACE;;AEmBA;EACE;;AClBA;EHHJ;IEyBI;;;;AFnBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OCTgB;EDUhB,kBCZsB;EDatB;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OCvCmB;;;AD0CrB;EACE;EACA;;;AAGF;EACE,OC7CW;ED8CX;;;AAGF;EACE;EACA,uBCvCa;EDwCb;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBCvEa;EDwEb;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBJKc;;AEGZ;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBJ5BU;;AEGZ;EEuBA;IAKI;IACA,kBJjCgB;;;AIoClB;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,OJzHmB;EEYnB,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF/BL;EACE;;ACtCA;EEiHJ;IHvEI;IACA,aEhDuB;;;ADKvB;EEiHJ;IAcI,aD/DG;ICgEH,gBDhEG;;;;AC+EP;EACE;EACA;EACA,SDhFK;ECiFL;;;AFnJE;EEuJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aD/GK;ECgHL,gBDhHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE6KJ;IF9JI,eCqDG;IDpDH,cCoDG;;;AFvEL;EACE;;ACEA;EE6KJ;IH3KI;;;ACFA;EE6KJ;IAYI;IACA;;;;AAIJ;EACE,OD5HK;EC6HL,QD7HK;EC8HL,OJ/LW;;;AKXb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJ1BN;EACE;;ACRA;EG2BE;IJfF;;;ACZA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OLnKO;EKoKP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALoBF;EACE;;AClBA;EILF;IL2BE;;;ACtBA;EDOF;IACE;;;ACRA;EILF;ILiBE;;;AKPA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EAEE,eH0DD;EGzDC,cHqDD;;ADlEH;EIKA;IAeI,YHgDD;IG/CC;IAEE,eH6CH;IG5CG,cH4CH;;;AGrCD;EACE,OHkCD;EGjCC,QHiCD;EGhCC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHUC;EGTD,QHSC;EGRD;EACA,ON7DO;;AEFT;EIsDA;IAYI,OHED;IGDC,QHCD;IGAC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cHvBC;EGwBD;;AAEA;EACE;;AAEA;EACE,ONzFa;;AM4Ff;EACE,ON7Fa;;AMmGjB;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;ALhIA;EACE;;ACEA;EIwHJ;ILtHI;;;ACFA;EIwHJ;IASI;IACA,YHhEG;IGiEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,ONlJG;;AMqJL;EACE,ONtJG;;;AM+Jb;EACE;EACA;;ALtKA;EACE;;ACEA;EIiKJ;IL/JI;;;AKoKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJlLA;EIiKJ;IAqBI,eHpHG;;;;ADlEH;EI4LJ;IAEI;;;;AAIJ;EACE;EACA,eHnIK;EGoIL;;;AAGF;EACE;;AL5MA;EACE;;ACEA;EIwMJ;ILtMI;;;AK0MF;EACE;;AAGF;EACE;EACA,cHlJG;EGmJH,aHnJG;EGoJH,OHpMU;EGqMV;;AAIA;EACE;;;ACrON;AAAA;EAEE;;ANoEA;AAAA;EACE;EACA,aElEuB;;ADKvB;EKXJ;AAAA;IN4EI;;;;AA5BF;AAAA;AAAA;EACE;;ACtCA;EKJJ;AAAA;AAAA;IN8CI;IACA,aEhDuB;;;;AFgCzB;AAAA;EACE;;AC5BA;EKEJ;AAAA;IN8BI;;;;AMzBJ;AAAA;EAEE;EACA;EACA;;ANdA;AAAA;EACE;;ACEA;EKOJ;AAAA;INLI;;;;AMcJ;EACE;;;ANVA;AAAA;EACE;;ACRA;EKoBJ;AAAA;INRI;;;;AAfF;AAAA;EACE;;ACEA;EKyBJ;AAAA;INvBI;;;;AALF;EACE;;ACEA;EK8BJ;IN5BI;;;;AMgCJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APLA;AAAA;EACE;;ACEA;EMRJ;AAAA;IPUI;;;;AOKJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OTIW;ESHX;EACA;EACA;EACA,kBTiBkB;EShBlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,OT1DW;ES2DX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,OXnCgB;EWoChB,kBXTwB;EWUxB;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBXhDoB;IWiDpB;;;AAGF;EACE;EACA;;AAEA;EACE,OXnDO;;;AWwDb;EACE;EACA;EACA;EACA,cRIK;;ADlEH;ES0DJ;IAOI,cRGG;IQFH;;;AAGF;EACE;EACA;EACA;EACA,ORzDU;;;AQ6Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBX3DwB;EW4DxB,4BRRc;EQSd,2BRTc;EQUd,YACE;;ATxFA;ES6EJ;IAeI;IACA,ORFmB;IQGnB;;;;AAIJ;EACE;EACA,eRrCK;EQsCL;;AVpFA;EACE;;AClBA;ESkGJ;IV5EI;;;ACtBA;EDOF;IACE;;;ACRA;ESkGJ;IVtFI;;;;AUiGJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EAEE,kBXlGa;;;AWsGjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVxIF;EACE;;ACRA;ES8IF;IVlIE;;;ACZA;EDHF;IACE;;;ACEA;ES8IF;IV5IE;;;AUqJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,OXzJS;EW0JT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OXtK4B;EWuK5B;EACA;;AV5LA;EACE;;ACYA;ESyKJ;IVjLI;;;;AU2LJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,OXlL4B;EWmL5B;EACA,aR/GO;EQgHP,mBX9Ka;;ACjBb;EACE;;ACEA;ESmLJ;IVjLI;;;ACFA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AV1MA;EACE;;ACRA;ESgNJ;IVpMI;;;;AUyMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBXnMwB;EWoMxB;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBXnPsB;;AEzBtB;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBZIuB;EYHvB;EACA;;AXNA;AAAA;EACE;;ACRA;EUOJ;AAAA;IXKI;;;AWKF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBbcoB;EabpB;EACA,eV+EY;;;AU1EhB;EACE,cbUa;;;AayCf;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBblDsB;EamDtB,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,ObhFc;EaiFd;;AAEA;AAAA;AAAA;EACE,MbpFY;;AauFd;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBbhKoB;EaiKpB;;AZ9KF;AAAA;EACE;;ACEA;EWsKF;AAAA;IZpKE;;;AY8KF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YbnNsB;EasNpB,ObrNoB;;;Aa4NxB;EACE,Yb9NsB;;;AcpBxB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AdhHA;EACE;;ACYA;EcZJ;IfII;;;;AAKF;EACE;;ACEA;EcRJ;IfUI;;;;AAKF;EACE;;ACRA;EcJJ;IfgBI;;;;AAKF;EACE;;AClBA;EcAJ;IfsBI;;;;AAKF;EACE;;AC5BA;EcIJ;If4BI;;;;AAKF;EACE;;ACtCA;EcQJ;IfkCI;IACA,aEhDuB;;;;AFqDzB;EACE;EACA,aEvDuB;;ADKvB;EcYJ;If0CI;;;;AAKF;EACE;EACA,aElEuB;;ADKvB;EcgBJ;IfiDI;;;;AAKF;EACE;EACA,aE7EuB;;ADKvB;EcoBJ;IfwDI;;;;AAKF;EACE;EACA,aExFuB;;ADKvB;EcwBJ;If+DI;;;;Ae3DJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;ACvCJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OpBCW;EoBAX,kBpBNsB;EoBOtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE,kBrBCsB;;;AqBExB;EACI;EACA;EACA,elB4EY;EkB3EZ;EACA;;AAEA;EACI,OlB8BI;EkB7BJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBoBM;EkBnBN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBiDY;EkBhDZ;EACA;;AACA;EACE;EACA;EACA,OlBEM;EkBDN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBGY;EkBFZ;EACA;;AAEA;EACI,OlB/CG;EkBgDH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBzDK;EkB0DL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBxBY;EkByBZ;EACA;;AACA;EACE;EACA;EACA,OlB3EK;EkB4EL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBtEY;EkBuEZ;EACA;;AAEA;EACI,OlBhHK;EkBiHL;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB1HO;EkB2HP;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBjGY;EkBkGZ;EACA;;AACA;EACE;EACA;EACA,OlB5IO;EkB6IP;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","// Meshtastic Material 3 — Dark color scheme for just-the-docs\n// Source: core/ui/.../Color.kt §8.3 (Dark Scheme)\n//\n// Brand colors:\n// Primary (Dark): #67EA94 (Green 500)\n// Surface (Dark): #1A1B26 (Neutral 900)\n\n$color-scheme: dark;\n\n// Body / page background\n$body-background-color: #1A1B26; // Neutral 900 — surfaceDark\n$sidebar-color: #1A1B26; // Neutral 900\n$body-text-color: #ECEDF3; // Neutral 100 — onSurfaceDark\n$body-heading-color: #ECEDF3; // Neutral 100\n\n// Links\n$link-color: #67EA94; // Green 500 — primaryDark\n$nav-link-color: #67EA94; // Green 500\n\n// Navigation\n$nav-child-link-color: #B8BAC8; // Neutral 300 — secondaryDark\n$search-result-preview-color: #B8BAC8;\n\n// Code\n$code-background-color: #0F1017; // Neutral 950 — surfaceContainerLowestDark\n$code-linenumber-color: #9496A6; // Neutral 400\n\n// Borders\n$border-color: #3D3E50; // Neutral 700 — outlineVariantDark\n$table-background-color: #242533; // Interpolated — surfaceContainerDark\n\n// Buttons\n$btn-primary-color: #67EA94; // Green 500\n$base-button-color: #2C2D3C; // Neutral 800\n\n// Feedback / callouts\n$feedback-color: #242533; // surfaceContainerDark\n\n// Search\n$search-background-color: #242533; // surfaceContainerDark\n","@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline: 2px solid $link-color;\n outline-offset: -2px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./color_schemes/meshtastic-dark\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.tip, blockquote.tip {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.note, blockquote.note {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $yellow-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-meshtastic-dark.css"} \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-meshtastic.css b/v2.8.0/assets/css/just-the-docs-meshtastic.css deleted file mode 100644 index f497ac6635..0000000000 --- a/v2.8.0/assets/css/just-the-docs-meshtastic.css +++ /dev/null @@ -1,7504 +0,0 @@ -@charset "UTF-8"; -/* -generated by accessible-pygments -Copyright (c) 2022, Quansight Labs -Licensed under the BSD license, see LICENSE for details. --- -generated by Pygments -Copyright 2006-2025 by the Pygments team. -Licensed under the BSD license, see LICENSE for details. -*/ -.highlight .hll { - background-color: rgba(9, 105, 218, 0.2901960784); -} - -.highlight .c { - color: #6E7781; -} /* Comment */ -.highlight .err { - color: #CF222E; -} /* Error */ -.highlight .k { - color: #CF222E; -} /* Keyword */ -.highlight .l { - color: #953800; -} /* Literal */ -.highlight .n { - color: #8250DF; -} /* Name */ -.highlight .o { - color: #116329; -} /* Operator */ -.highlight .p { - color: #24292F; -} /* Punctuation */ -.highlight .ch { - color: #6E7781; -} /* Comment.Hashbang */ -.highlight .cm { - color: #6E7781; -} /* Comment.Multiline */ -.highlight .cp { - color: #6E7781; -} /* Comment.Preproc */ -.highlight .cpf { - color: #6E7781; -} /* Comment.PreprocFile */ -.highlight .c1 { - color: #6E7781; -} /* Comment.Single */ -.highlight .cs { - color: #6E7781; -} /* Comment.Special */ -.highlight .gd { - color: #0550AE; -} /* Generic.Deleted */ -.highlight .ge { - font-style: italic; -} /* Generic.Emph */ -.highlight .gr { - color: #CF222E; -} /* Generic.Error */ -.highlight .gh { - color: #0550AE; -} /* Generic.Heading */ -.highlight .gs { - font-weight: bold; -} /* Generic.Strong */ -.highlight .gu { - color: #0550AE; -} /* Generic.Subheading */ -.highlight .kc { - color: #0550AE; -} /* Keyword.Constant */ -.highlight .kd { - color: #CF222E; -} /* Keyword.Declaration */ -.highlight .kn { - color: #CF222E; -} /* Keyword.Namespace */ -.highlight .kp { - color: #CF222E; -} /* Keyword.Pseudo */ -.highlight .kr { - color: #CF222E; -} /* Keyword.Reserved */ -.highlight .kt { - color: #CF222E; -} /* Keyword.Type */ -.highlight .ld { - color: #953800; -} /* Literal.Date */ -.highlight .m { - color: #953800; -} /* Literal.Number */ -.highlight .s { - color: #0550AE; -} /* Literal.String */ -.highlight .na { - color: #953800; -} /* Name.Attribute */ -.highlight .nb { - color: #953800; -} /* Name.Builtin */ -.highlight .nc { - color: #0550AE; -} /* Name.Class */ -.highlight .no { - color: #0550AE; -} /* Name.Constant */ -.highlight .nd { - color: #953800; -} /* Name.Decorator */ -.highlight .ni { - color: #116329; -} /* Name.Entity */ -.highlight .ne { - color: #8250DF; -} /* Name.Exception */ -.highlight .nf { - color: #0550AE; -} /* Name.Function */ -.highlight .nl { - color: #953800; -} /* Name.Label */ -.highlight .nn { - color: #24292F; -} /* Name.Namespace */ -.highlight .nx { - color: #8250DF; -} /* Name.Other */ -.highlight .py { - color: #0550AE; -} /* Name.Property */ -.highlight .nt { - color: #116329; -} /* Name.Tag */ -.highlight .nv { - color: #953800; -} /* Name.Variable */ -.highlight .ow { - color: #8250DF; -} /* Operator.Word */ -.highlight .pm { - color: #24292F; -} /* Punctuation.Marker */ -.highlight .w { - color: #24292F; -} /* Text.Whitespace */ -.highlight .mb { - color: #953800; -} /* Literal.Number.Bin */ -.highlight .mf { - color: #953800; -} /* Literal.Number.Float */ -.highlight .mh { - color: #953800; -} /* Literal.Number.Hex */ -.highlight .mi { - color: #953800; -} /* Literal.Number.Integer */ -.highlight .mo { - color: #953800; -} /* Literal.Number.Oct */ -.highlight .sa { - color: #0550AE; -} /* Literal.String.Affix */ -.highlight .sb { - color: #0550AE; -} /* Literal.String.Backtick */ -.highlight .sc { - color: #0550AE; -} /* Literal.String.Char */ -.highlight .dl { - color: #0550AE; -} /* Literal.String.Delimiter */ -.highlight .sd { - color: #0550AE; -} /* Literal.String.Doc */ -.highlight .s2 { - color: #0550AE; -} /* Literal.String.Double */ -.highlight .se { - color: #0550AE; -} /* Literal.String.Escape */ -.highlight .sh { - color: #0550AE; -} /* Literal.String.Heredoc */ -.highlight .si { - color: #0550AE; -} /* Literal.String.Interpol */ -.highlight .sx { - color: #0550AE; -} /* Literal.String.Other */ -.highlight .sr { - color: #0550AE; -} /* Literal.String.Regex */ -.highlight .s1 { - color: #0550AE; -} /* Literal.String.Single */ -.highlight .ss { - color: #0550AE; -} /* Literal.String.Symbol */ -.highlight .bp { - color: #953800; -} /* Name.Builtin.Pseudo */ -.highlight .fm { - color: #0550AE; -} /* Name.Function.Magic */ -.highlight .vc { - color: #953800; -} /* Name.Variable.Class */ -.highlight .vg { - color: #953800; -} /* Name.Variable.Global */ -.highlight .vi { - color: #953800; -} /* Name.Variable.Instance */ -.highlight .vm { - color: #953800; -} /* Name.Variable.Magic */ -.highlight .il { - color: #953800; -} /* Literal.Number.Integer.Long */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* Document - ========================================================================== */ -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ -html { - line-height: 1.15; /* 1 */ - text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers. - */ -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ -/** - * Remove the gray background on active links in IE 10. - */ -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ -/** - * Remove the border on images inside links in IE 10. - */ -img { - border-style: none; -} - -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ -button, -input { - /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ -button, -[type=button], -[type=reset], -[type=submit] { - appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ -[type=checkbox], -[type=radio] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type=search] { - appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-decoration { - appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ -/** - * Add the correct display in IE 10+. - */ -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ -[hidden] { - display: none; -} - -:root { - color-scheme: light; -} - -* { - box-sizing: border-box; -} - -html { - scroll-behavior: smooth; -} -html { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - html { - font-size: 1rem !important; - } -} - -body { - font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; - font-size: inherit; - line-height: 1.4; - color: #2C2D3C; - background-color: #F5F6FA; - overflow-wrap: break-word; -} - -ol, -ul, -dl, -pre, -address, -blockquote, -table, -div, -hr, -form, -fieldset, -noscript .table-wrapper { - margin-top: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6, -#toctitle { - margin-top: 0; - margin-bottom: 1em; - font-weight: 500; - line-height: 1.25; - color: #2C2D3C; -} - -p { - margin-top: 1em; - margin-bottom: 1em; -} - -a { - color: #2D8F52; - text-decoration: none; -} - -a:not([class]) { - text-decoration: underline; - text-decoration-color: #D5D6E0; - text-underline-offset: 2px; -} -a:not([class]):hover { - text-decoration-color: rgba(45, 143, 82, 0.45); -} - -code { - font-family: "SFMono-Regular", menlo, consolas, monospace; - font-size: 0.75em; - line-height: 1.4; -} - -figure, -pre { - margin: 0; -} - -li { - margin: 0.25em 0; -} - -img { - max-width: 100%; - height: auto; -} - -hr { - height: 1px; - padding: 0; - margin: 2rem 0; - background-color: #D5D6E0; - border: 0; -} - -blockquote { - margin: 10px 0; - margin-block-start: 0; - margin-inline-start: 0; - padding-left: 1rem; - border-left: 3px solid #D5D6E0; -} - -.side-bar { - z-index: 0; - display: flex; - flex-wrap: wrap; - background-color: #ECEDF3; -} -@media (min-width: 50rem) { - .side-bar { - flex-flow: column nowrap; - position: fixed; - width: 15.5rem; - height: 100%; - border-right: 1px solid #D5D6E0; - align-items: flex-end; - } -} -@media (min-width: 66.5rem) { - .side-bar { - width: calc((100% - 66.5rem) / 2 + 16.5rem); - min-width: 16.5rem; - } -} -@media (min-width: 50rem) { - .side-bar + .main { - margin-left: 15.5rem; - } -} -@media (min-width: 66.5rem) { - .side-bar + .main { - margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); - } -} -.side-bar + .main .main-header { - display: none; - background-color: #ECEDF3; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header { - display: flex; - background-color: #F5F6FA; - } -} -.side-bar + .main .main-header.nav-open { - display: block; -} -@media (min-width: 50rem) { - .side-bar + .main .main-header.nav-open { - display: flex; - } -} - -.main { - margin: auto; -} -@media (min-width: 50rem) { - .main { - position: relative; - max-width: 50rem; - } -} - -.main-content-wrap { - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-right: 2rem; - padding-left: 2rem; - } -} -@media (min-width: 50rem) { - .main-content-wrap { - padding-top: 2rem; - padding-bottom: 2rem; - } -} - -.main-header { - z-index: 0; - border-bottom: 1px solid #D5D6E0; -} -@media (min-width: 50rem) { - .main-header { - display: flex; - justify-content: space-between; - height: 3.75rem; - } -} - -.site-nav, -.site-header, -.site-footer { - width: 100%; -} -@media (min-width: 66.5rem) { - .site-nav, - .site-header, - .site-footer { - width: 16.5rem; - } -} - -.site-nav { - display: none; -} -.site-nav.nav-open { - display: block; -} -@media (min-width: 50rem) { - .site-nav { - display: block; - padding-top: 3rem; - padding-bottom: 1rem; - overflow-y: auto; - flex: 1 1 auto; - } -} - -.site-header { - display: flex; - min-height: 3.75rem; - align-items: center; -} -@media (min-width: 50rem) { - .site-header { - height: 3.75rem; - max-height: 3.75rem; - border-bottom: 1px solid #D5D6E0; - } -} - -.site-title { - flex-grow: 1; - display: flex; - height: 100%; - align-items: center; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #2C2D3C; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-title { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-title { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .site-title { - font-size: 1.5rem !important; - line-height: 1.25; - } -} -@media (min-width: 50rem) { - .site-title { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} - -.site-button { - display: flex; - height: 100%; - padding: 1rem; - align-items: center; -} - -@media (min-width: 50rem) { - .site-header .site-button { - display: none; - } -} -.site-title:hover { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 80%, rgba(224, 225, 235, 0) 100%); -} - -.site-button:hover { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 100%); -} - -.site-footer { - position: absolute; - bottom: 0; - left: 0; - padding-top: 1rem; - padding-bottom: 1rem; - padding-right: 1rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .site-footer { - padding-right: 2rem; - padding-left: 2rem; - } -} -.site-footer { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .site-footer { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .site-footer { - position: static; - justify-self: end; - } -} - -.icon { - width: 1.5rem; - height: 1.5rem; - color: #2D8F52; -} - -.main-content { - line-height: 1.6; -} -.main-content ol, -.main-content ul, -.main-content dl, -.main-content pre, -.main-content address, -.main-content blockquote, -.main-content .table-wrapper { - margin-top: 0.5em; -} -.main-content a { - overflow: hidden; - text-overflow: ellipsis; -} -.main-content ul, -.main-content ol { - padding-left: 1.5em; -} -.main-content li .highlight { - margin-top: 0.25rem; -} -.main-content ol { - list-style-type: none; - counter-reset: step-counter; -} -.main-content ol > li { - position: relative; -} -.main-content ol > li::before { - position: absolute; - top: 0.2em; - left: -1.6em; - color: #959396; - content: counter(step-counter); - counter-increment: step-counter; -} -.main-content ol > li::before { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - font-size: 0.875rem !important; - } -} -@media (min-width: 31.25rem) { - .main-content ol > li::before { - top: 0.11em; - } -} -.main-content ol > li ol { - counter-reset: sub-counter; -} -.main-content ol > li ol > li::before { - content: counter(sub-counter, lower-alpha); - counter-increment: sub-counter; -} -.main-content ul { - list-style: none; -} -.main-content ul > li::before { - position: absolute; - margin-left: -1.4em; - color: #959396; - content: "•"; -} -.main-content .task-list-item::before { - content: ""; -} -.main-content .task-list-item-checkbox { - margin-right: 0.6em; - margin-left: -1.4em; -} -.main-content hr + * { - margin-top: 0; -} -.main-content h1:first-of-type { - margin-top: 0.5em; -} -.main-content dl { - display: grid; - grid-template: auto/10em 1fr; -} -.main-content dt, -.main-content dd { - margin: 0.25em 0; -} -.main-content dt { - grid-column: 1; - font-weight: 500; - text-align: right; -} -.main-content dt::after { - content: ":"; -} -.main-content dd { - grid-column: 2; - margin-bottom: 0; - margin-left: 1em; -} -.main-content dd blockquote:first-child, -.main-content dd div:first-child, -.main-content dd dl:first-child, -.main-content dd dt:first-child, -.main-content dd h1:first-child, -.main-content dd h2:first-child, -.main-content dd h3:first-child, -.main-content dd h4:first-child, -.main-content dd h5:first-child, -.main-content dd h6:first-child, -.main-content dd li:first-child, -.main-content dd ol:first-child, -.main-content dd p:first-child, -.main-content dd pre:first-child, -.main-content dd table:first-child, -.main-content dd ul:first-child, -.main-content dd .table-wrapper:first-child { - margin-top: 0; -} -.main-content dd dl:first-child dt:first-child, -.main-content dd dl:first-child dd:nth-child(2), -.main-content ol dl:first-child dt:first-child, -.main-content ol dl:first-child dd:nth-child(2), -.main-content ul dl:first-child dt:first-child, -.main-content ul dl:first-child dd:nth-child(2) { - margin-top: 0; -} -.main-content .anchor-heading { - position: absolute; - right: -1rem; - width: 1.5rem; - height: 100%; - padding-right: 0.25rem; - padding-left: 0.25rem; - overflow: visible; -} -@media (min-width: 50rem) { - .main-content .anchor-heading { - right: auto; - left: -1.5rem; - } -} -.main-content .anchor-heading svg { - display: inline-block; - width: 100%; - height: 100%; - color: #2D8F52; - visibility: hidden; -} -.main-content .anchor-heading:hover svg, -.main-content .anchor-heading:focus svg, -.main-content h1:hover > .anchor-heading svg, -.main-content h2:hover > .anchor-heading svg, -.main-content h3:hover > .anchor-heading svg, -.main-content h4:hover > .anchor-heading svg, -.main-content h5:hover > .anchor-heading svg, -.main-content h6:hover > .anchor-heading svg { - visibility: visible; -} -.main-content summary { - cursor: pointer; -} -.main-content h1, -.main-content h2, -.main-content h3, -.main-content h4, -.main-content h5, -.main-content h6, -.main-content #toctitle { - position: relative; - margin-top: 1.5em; - margin-bottom: 0.25em; -} -.main-content h1 + table, -.main-content h1 + .table-wrapper, -.main-content h1 + .code-example, -.main-content h1 + .highlighter-rouge, -.main-content h1 + .sectionbody .listingblock, -.main-content h2 + table, -.main-content h2 + .table-wrapper, -.main-content h2 + .code-example, -.main-content h2 + .highlighter-rouge, -.main-content h2 + .sectionbody .listingblock, -.main-content h3 + table, -.main-content h3 + .table-wrapper, -.main-content h3 + .code-example, -.main-content h3 + .highlighter-rouge, -.main-content h3 + .sectionbody .listingblock, -.main-content h4 + table, -.main-content h4 + .table-wrapper, -.main-content h4 + .code-example, -.main-content h4 + .highlighter-rouge, -.main-content h4 + .sectionbody .listingblock, -.main-content h5 + table, -.main-content h5 + .table-wrapper, -.main-content h5 + .code-example, -.main-content h5 + .highlighter-rouge, -.main-content h5 + .sectionbody .listingblock, -.main-content h6 + table, -.main-content h6 + .table-wrapper, -.main-content h6 + .code-example, -.main-content h6 + .highlighter-rouge, -.main-content h6 + .sectionbody .listingblock, -.main-content #toctitle + table, -.main-content #toctitle + .table-wrapper, -.main-content #toctitle + .code-example, -.main-content #toctitle + .highlighter-rouge, -.main-content #toctitle + .sectionbody .listingblock { - margin-top: 1em; -} -.main-content h1 + p:not(.label), -.main-content h2 + p:not(.label), -.main-content h3 + p:not(.label), -.main-content h4 + p:not(.label), -.main-content h5 + p:not(.label), -.main-content h6 + p:not(.label), -.main-content #toctitle + p:not(.label) { - margin-top: 0; -} -.main-content > h1:first-child, -.main-content > h2:first-child, -.main-content > h3:first-child, -.main-content > h4:first-child, -.main-content > h5:first-child, -.main-content > h6:first-child, -.main-content > .sect1:first-child > h2, -.main-content > .sect2:first-child > h3, -.main-content > .sect3:first-child > h4, -.main-content > .sect4:first-child > h5, -.main-content > .sect5:first-child > h6 { - margin-top: 0.5rem; -} - -.nav-list { - padding: 0; - margin-top: 0; - margin-bottom: 0; - list-style: none; -} -.nav-list .nav-list-item { - position: relative; - margin: 0; -} -.nav-list .nav-list-item { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .nav-list .nav-list-item { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .nav-list .nav-list-item { - font-size: 0.875rem !important; - } -} -.nav-list .nav-list-item .nav-list-link { - display: block; - min-height: 3rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - line-height: 2.5rem; - padding-right: 3rem; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-link { - min-height: 2rem; - line-height: 1.5rem; - padding-right: 2rem; - padding-left: 2rem; - } -} -.nav-list .nav-list-item .nav-list-link.external > svg { - width: 1rem; - height: 1rem; - vertical-align: text-bottom; -} -.nav-list .nav-list-item .nav-list-link.active { - font-weight: 600; - text-decoration: none; -} -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { - color: rgb(15.2534418023%, 48.4720483938%, 27.7951606174%); - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 80%, rgba(224, 225, 235, 0) 100%); -} -.nav-list .nav-list-item .nav-list-expander { - position: absolute; - right: 0; - width: 3rem; - height: 3rem; - padding: 0.75rem; - color: #2D8F52; -} -@media (min-width: 50rem) { - .nav-list .nav-list-item .nav-list-expander { - width: 2rem; - height: 2rem; - padding: 0.5rem; - } -} -.nav-list .nav-list-item .nav-list-expander:hover { - background-image: linear-gradient(-90deg, #e0e1eb 0%, rgba(224, 225, 235, 0.8) 100%); -} -.nav-list .nav-list-item .nav-list-expander svg { - transform: rotate(90deg); -} -.nav-list .nav-list-item > .nav-list { - display: none; - padding-left: 0.75rem; - list-style: none; -} -.nav-list .nav-list-item > .nav-list .nav-list-item { - position: relative; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { - color: #555668; -} -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { - color: #555668; -} -.nav-list .nav-list-item.active > .nav-list-expander svg { - transform: rotate(-90deg); -} -.nav-list .nav-list-item.active > .nav-list { - display: block; -} - -.nav-category { - padding: 0.5rem 1rem; - font-weight: 600; - text-align: start; - text-transform: uppercase; - border-bottom: 1px solid #D5D6E0; -} -.nav-category { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .nav-category { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) { - .nav-category { - padding: 0.5rem 2rem; - margin-top: 1rem; - text-align: start; - } - .nav-category:first-child { - margin-top: 0; - } -} - -.nav-list.nav-category-list > .nav-list-item { - margin: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list { - padding: 0; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { - color: #2D8F52; -} -.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { - color: #2D8F52; -} - -.aux-nav { - height: 100%; - overflow-x: auto; -} -.aux-nav { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .aux-nav { - font-size: 0.75rem !important; - } -} -.aux-nav .aux-nav-list { - display: flex; - height: 100%; - padding: 0; - margin: 0; - list-style: none; -} -.aux-nav .aux-nav-list-item { - display: inline-block; - height: 100%; - padding: 0; - margin: 0; -} -@media (min-width: 50rem) { - .aux-nav { - padding-right: 1rem; - } -} - -@media (min-width: 50rem) { - .breadcrumb-nav { - margin-top: -1rem; - } -} - -.breadcrumb-nav-list { - padding-left: 0; - margin-bottom: 0.75rem; - list-style: none; -} - -.breadcrumb-nav-list-item { - display: table-cell; -} -.breadcrumb-nav-list-item { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .breadcrumb-nav-list-item { - font-size: 0.75rem !important; - } -} -.breadcrumb-nav-list-item::before { - display: none; -} -.breadcrumb-nav-list-item::after { - display: inline-block; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #959396; - content: "/"; -} -.breadcrumb-nav-list-item:last-child::after { - content: ""; -} - -h1, -.text-alpha { - font-weight: 300; -} -h1, -.text-alpha { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - h1, - .text-alpha { - font-size: 2.25rem !important; - } -} - -h2, -.text-beta, -#toctitle { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - h2, - .text-beta, - #toctitle { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -h3, -.text-gamma { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - h3, - .text-gamma { - font-size: 1.125rem !important; - } -} - -h4, -.text-delta { - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0.1em; -} -h4, -.text-delta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h4, - .text-delta { - font-size: 0.75rem !important; - } -} - -h4 code { - text-transform: none; -} - -h5, -.text-epsilon { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - h5, - .text-epsilon { - font-size: 0.875rem !important; - } -} - -h6, -.text-zeta { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - h6, - .text-zeta { - font-size: 0.75rem !important; - } -} - -.text-small { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .text-small { - font-size: 0.75rem !important; - } -} - -.text-mono { - font-family: "SFMono-Regular", menlo, consolas, monospace !important; -} - -.text-left { - text-align: left !important; -} - -.text-center { - text-align: center !important; -} - -.text-right { - text-align: right !important; -} - -.label:not(g), -.label-blue:not(g) { - display: inline-block; - padding: 0.16em 0.56em; - margin-right: 0.5rem; - margin-left: 0.5rem; - color: #fff; - text-transform: uppercase; - vertical-align: middle; - background-color: #2869e6; - border-radius: 12px; -} -.label:not(g), -.label-blue:not(g) { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .label:not(g), - .label-blue:not(g) { - font-size: 0.75rem !important; - } -} - -.label-green:not(g) { - background-color: #026e57; -} - -.label-purple:not(g) { - background-color: #5e41d0; -} - -.label-red:not(g) { - background-color: #dd2e2e; -} - -.label-yellow:not(g) { - color: #44434d; - background-color: #f7d12e; -} - -.btn { - display: inline-block; - box-sizing: border-box; - padding: 0.3em 1em; - margin: 0; - font-family: inherit; - font-size: inherit; - font-weight: 500; - line-height: 1.5; - color: #2D8F52; - text-decoration: none; - vertical-align: baseline; - cursor: pointer; - background-color: #f7f7f7; - border-width: 0; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - appearance: none; -} -.btn:focus { - text-decoration: none; - outline: none; - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:focus:hover, .btn.selected:focus { - box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn:hover, .btn.zeroclipboard-is-hover { - color: rgb(16.689612015%, 53.0358781811%, 30.412181894%); -} -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { - text-decoration: none; - background-color: rgb(95.862745098%, 95.862745098%, 95.862745098%); -} -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { - background-color: rgb(93.862745098%, 93.862745098%, 93.862745098%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn.selected:hover { - background-color: rgb(81.2745098039%, 81.2745098039%, 81.2745098039%); -} -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { - color: rgba(102, 102, 102, 0.5); - cursor: default; - background-color: rgba(229, 229, 229, 0.5); - background-image: none; - box-shadow: none; -} - -.btn-outline { - color: #2D8F52; - background: transparent; - box-shadow: inset 0 0 0 2px #e6e1e8; -} -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { - color: rgb(15.7321652065%, 49.9933249896%, 28.667501043%); - text-decoration: none; - background-color: transparent; - box-shadow: inset 0 0 0 3px #e6e1e8; -} -.btn-outline:focus { - text-decoration: none; - outline: none; - box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); -} -.btn-outline:focus:hover, .btn-outline.selected:focus { - box-shadow: inset 0 0 0 2px #5c5962; -} - -.btn-primary { - color: #fff; - background-color: rgb(16.689612015%, 53.0358781811%, 30.412181894%); - background-image: linear-gradient(rgb(20.0406758448%, 63.6848143513%, 36.5185648728%), rgb(16.689612015%, 53.0358781811%, 30.412181894%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(15.7321652065%, 49.9933249896%, 28.667501043%); - background-image: linear-gradient(rgb(18.604505632%, 59.120984564%, 33.9015435962%), rgb(15.7321652065%, 49.9933249896%, 28.667501043%)); -} -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { - background-color: rgb(15.2534418023%, 48.4720483938%, 27.7951606174%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-primary.selected:hover { - background-color: rgb(12.859824781%, 40.8656654151%, 23.4334584898%); -} - -.btn-purple { - color: #fff; - background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%); - background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%); - background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%)); -} -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { - background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-purple.selected:hover { - background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%); -} - -.btn-blue { - color: #fff; - background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%); - background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%); - background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%)); -} -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { - background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-blue.selected:hover { - background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%); -} - -.btn-green { - color: #fff; - background-color: rgb(0.7128851541%, 39.2086834734%, 31.0105042017%); - background-image: linear-gradient(rgb(0.9628851541%, 52.9586834734%, 41.8855042017%), rgb(0.7128851541%, 39.2086834734%, 31.0105042017%)); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); -} -.btn-green:hover, .btn-green.zeroclipboard-is-hover { - color: #fff; - background-color: rgb(0.6414565826%, 35.2801120448%, 27.9033613445%); - background-image: linear-gradient(rgb(0.8557422969%, 47.0658263305%, 37.224789916%), rgb(0.6414565826%, 35.2801120448%, 27.9033613445%)); -} -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { - background-color: rgb(0.6057422969%, 33.3158263305%, 26.349789916%); - background-image: none; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); -} -.btn-green.selected:hover { - background-color: rgb(0.4271708683%, 23.4943977591%, 18.5819327731%); -} - -.btn-reset { - background: none; - border: none; - margin: 0; - text-align: inherit; - font: inherit; - border-radius: 0; - appearance: none; -} - -.search { - position: relative; - z-index: 2; - flex-grow: 1; - height: 4rem; - padding: 0.5rem; - transition: padding linear 200ms; -} -@media (min-width: 50rem) { - .search { - position: relative !important; - width: auto !important; - height: 100% !important; - padding: 0; - transition: none; - } -} - -.search-input-wrap { - position: relative; - z-index: 1; - height: 3rem; - overflow: hidden; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - transition: height linear 200ms; -} -@media (min-width: 50rem) { - .search-input-wrap { - position: absolute; - width: 100%; - max-width: 33.5rem; - height: 100% !important; - border-radius: 0; - box-shadow: none; - transition: width ease 400ms; - } -} - -.search-input { - position: absolute; - width: 100%; - height: 100%; - padding: 0.5rem 1rem 0.5rem 2.5rem; - font-size: 1rem; - color: #2C2D3C; - background-color: #FFFFFF; - border-top: 0; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-input { - padding: 0.5rem 1rem 0.5rem 3.5rem; - font-size: 0.875rem; - background-color: #F5F6FA; - transition: padding-left linear 200ms; - } -} -.search-input:focus { - outline: 2px solid #2D8F52; - outline-offset: -2px; -} -.search-input:focus + .search-label .search-icon { - color: #2D8F52; -} - -.search-label { - position: absolute; - display: flex; - height: 100%; - padding-left: 1rem; -} -@media (min-width: 50rem) { - .search-label { - padding-left: 2rem; - transition: padding-left linear 200ms; - } -} -.search-label .search-icon { - width: 1.2rem; - height: 1.2rem; - align-self: center; - color: #959396; -} - -.search-results { - position: absolute; - left: 0; - display: none; - width: 100%; - max-height: calc(100% - 4rem); - overflow-y: auto; - background-color: #FFFFFF; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} -@media (min-width: 50rem) { - .search-results { - top: 100%; - width: 33.5rem; - max-height: calc(100vh - 200%) !important; - } -} - -.search-results-list { - padding-left: 0; - margin-bottom: 0.25rem; - list-style: none; -} -.search-results-list { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .search-results-list { - font-size: 1rem !important; - } -} -@media (min-width: 50rem) { - .search-results-list { - font-size: 0.75rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-results-list { - font-size: 0.875rem !important; - } -} - -.search-results-list-item { - padding: 0; - margin: 0; -} - -.search-result { - display: block; - padding: 0.25rem 0.75rem; -} -.search-result:hover, .search-result.active { - background-color: #E0E1EB; -} - -.search-result-title { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -@media (min-width: 31.25rem) { - .search-result-title { - display: inline-block; - width: 40%; - padding-right: 0.5rem; - vertical-align: top; - } -} - -.search-result-doc { - display: flex; - align-items: center; - word-wrap: break-word; -} -.search-result-doc.search-result-doc-parent { - opacity: 0.5; -} -.search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.875rem !important; - } -} -@media (min-width: 50rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.6875rem !important; - } -} -@media (min-width: 50rem) and (min-width: 31.25rem) { - .search-result-doc.search-result-doc-parent { - font-size: 0.75rem !important; - } -} -.search-result-doc .search-result-icon { - width: 1rem; - height: 1rem; - margin-right: 0.5rem; - color: #2D8F52; - flex-shrink: 0; -} -.search-result-doc .search-result-doc-title { - overflow: auto; -} - -.search-result-section { - margin-left: 1.5rem; - word-wrap: break-word; -} - -.search-result-rel-url { - display: block; - margin-left: 1.5rem; - overflow: hidden; - color: #555668; - text-overflow: ellipsis; - white-space: nowrap; -} -.search-result-rel-url { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .search-result-rel-url { - font-size: 0.625rem !important; - } -} - -.search-result-previews { - display: block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - margin-left: 0.5rem; - color: #555668; - word-wrap: break-word; - border-left: 1px solid; - border-left-color: #D5D6E0; -} -.search-result-previews { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .search-result-previews { - font-size: 0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .search-result-previews { - display: inline-block; - width: 60%; - padding-left: 0.5rem; - margin-left: 0; - vertical-align: top; - } -} - -.search-result-preview + .search-result-preview { - margin-top: 0.25rem; -} - -.search-result-highlight { - font-weight: bold; -} - -.search-no-result { - padding: 0.5rem 0.75rem; -} -.search-no-result { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .search-no-result { - font-size: 0.875rem !important; - } -} - -.search-button { - position: fixed; - right: 1rem; - bottom: 1rem; - display: flex; - width: 3.5rem; - height: 3.5rem; - background-color: #FFFFFF; - border: 1px solid rgba(45, 143, 82, 0.3); - border-radius: 1.75rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - align-items: center; - justify-content: center; -} - -.search-overlay { - position: fixed; - top: 0; - left: 0; - z-index: 1; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.3); - opacity: 0; - transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; -} - -.search-active .search { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; -} -.search-active .search-input-wrap { - height: 4rem; - border-radius: 0; -} -@media (min-width: 50rem) { - .search-active .search-input-wrap { - width: 33.5rem; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - } -} -.search-active .search-input { - background-color: #FFFFFF; -} -@media (min-width: 50rem) { - .search-active .search-input { - padding-left: 2.3rem; - } -} -@media (min-width: 50rem) { - .search-active .search-label { - padding-left: 0.6rem; - } -} -.search-active .search-results { - display: block; -} -.search-active .search-overlay { - width: 100%; - height: 100%; - opacity: 1; - transition: opacity ease 400ms, width 0s, height 0s; -} -@media (min-width: 50rem) { - .search-active .main { - position: fixed; - right: 0; - left: 0; - } -} -.search-active .main-header { - padding-top: 4rem; -} -@media (min-width: 50rem) { - .search-active .main-header { - padding-top: 0; - } -} - -.table-wrapper { - display: block; - width: 100%; - max-width: 100%; - margin-bottom: 1.5rem; - overflow-x: auto; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); -} - -table { - display: table; - min-width: 100%; - border-collapse: separate; -} - -th, -td { - min-width: 7.5rem; - padding: 0.5rem 0.75rem; - background-color: #F5F6FA; - border-bottom: 1px solid rgba(213, 214, 224, 0.5); - border-left: 1px solid #D5D6E0; -} -th, -td { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - th, - td { - font-size: 0.875rem !important; - } -} -th:first-of-type, -td:first-of-type { - border-left: 0; -} - -tbody tr:last-of-type th, -tbody tr:last-of-type td { - border-bottom: 0; -} -tbody tr:last-of-type td { - padding-bottom: 0.75rem; -} - -thead th { - border-bottom: 1px solid #D5D6E0; -} - -:not(pre, figure) > code { - padding: 0.2em 0.15em; - font-weight: 400; - background-color: #ECEDF3; - border: 1px solid #D5D6E0; - border-radius: 4px; -} - -a:visited code { - border-color: #D5D6E0; -} - -div.highlighter-rouge, -div.listingblock > div.content, -figure.highlight { - margin-top: 0; - margin-bottom: 0.75rem; - background-color: #ECEDF3; - border-radius: 4px; - box-shadow: none; - -webkit-overflow-scrolling: touch; - position: relative; - padding: 0; -} -div.highlighter-rouge > button, -div.listingblock > div.content > button, -figure.highlight > button { - width: 0.75rem; - opacity: 0; - position: absolute; - top: 0; - right: 0; - padding: 0.75rem; - border: none; - background: none; - color: #2C2D3C; - box-sizing: content-box; -} -div.highlighter-rouge > button svg, -div.listingblock > div.content > button svg, -figure.highlight > button svg { - fill: #2C2D3C; -} -div.highlighter-rouge > button:active, -div.listingblock > div.content > button:active, -figure.highlight > button:active { - text-decoration: none; - outline: none; - opacity: 1; -} -div.highlighter-rouge > button:focus, -div.listingblock > div.content > button:focus, -figure.highlight > button:focus { - opacity: 1; - outline: 2px solid #2D8F52; -} -div.highlighter-rouge:hover > button, -div.listingblock > div.content:hover > button, -figure.highlight:hover > button { - cursor: copy; - opacity: 1; -} - -div.highlighter-rouge div.highlight { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #2C2D3C; - border-radius: 4px; -} -div.highlighter-rouge pre.highlight, -div.highlighter-rouge code { - padding: 0; - margin: 0; - border: 0; -} - -div.listingblock { - margin-top: 0; - margin-bottom: 0.75rem; -} -div.listingblock div.content { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #2C2D3C; - border-radius: 4px; -} -div.listingblock div.content > pre, -div.listingblock code { - padding: 0; - margin: 0; - border: 0; -} - -figure.highlight pre, -figure.highlight :not(pre) > code { - overflow-x: auto; - padding: 0.75rem; - margin: 0; - border: 1px solid #2C2D3C; - border-radius: 4px; -} - -.highlight .table-wrapper { - padding: 0.75rem 0; - margin: 0; - border: 0; - box-shadow: none; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - min-width: 0; - padding: 0; - background-color: #ECEDF3; - border: 0; -} -.highlight .table-wrapper td, -.highlight .table-wrapper pre { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .highlight .table-wrapper td, - .highlight .table-wrapper pre { - font-size: 0.75rem !important; - } -} -.highlight .table-wrapper td.gl { - width: 1em; - padding-right: 0.75rem; - padding-left: 0.75rem; -} -.highlight .table-wrapper pre { - margin: 0; - line-height: 2; -} - -.code-example, -.listingblock > .title { - padding: 0.75rem; - margin-bottom: 0.75rem; - overflow: auto; - border: 1px solid #D5D6E0; - border-radius: 4px; -} -.code-example + .highlighter-rouge, -.code-example + .sectionbody .listingblock, -.code-example + .content, -.code-example + figure.highlight, -.listingblock > .title + .highlighter-rouge, -.listingblock > .title + .sectionbody .listingblock, -.listingblock > .title + .content, -.listingblock > .title + figure.highlight { - position: relative; - margin-top: -1rem; - border-right: 1px solid #D5D6E0; - border-bottom: 1px solid #D5D6E0; - border-left: 1px solid #D5D6E0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -code.language-mermaid { - padding: 0; - background-color: inherit; - border: 0; -} - -.highlight, -pre.highlight { - background: #ECEDF3; - color: #9496A6; -} - -.highlight pre { - background: #ECEDF3; -} - -.text-grey-dk-000 { - color: #959396 !important; -} - -.text-grey-dk-100 { - color: #5c5962 !important; -} - -.text-grey-dk-200 { - color: #44434d !important; -} - -.text-grey-dk-250 { - color: #302d36 !important; -} - -.text-grey-dk-300 { - color: #27262b !important; -} - -.text-grey-lt-000 { - color: #f5f6fa !important; -} - -.text-grey-lt-100 { - color: #eeebee !important; -} - -.text-grey-lt-200 { - color: #ecebed !important; -} - -.text-grey-lt-300 { - color: #e6e1e8 !important; -} - -.text-blue-000 { - color: #2c84fa !important; -} - -.text-blue-100 { - color: #2869e6 !important; -} - -.text-blue-200 { - color: #264caf !important; -} - -.text-blue-300 { - color: #183385 !important; -} - -.text-green-000 { - color: #41d693 !important; -} - -.text-green-100 { - color: #11b584 !important; -} - -.text-green-200 { - color: #009c7b !important; -} - -.text-green-300 { - color: #026e57 !important; -} - -.text-purple-000 { - color: #7253ed !important; -} - -.text-purple-100 { - color: #5e41d0 !important; -} - -.text-purple-200 { - color: #4e26af !important; -} - -.text-purple-300 { - color: #381885 !important; -} - -.text-yellow-000 { - color: #ffeb82 !important; -} - -.text-yellow-100 { - color: #fadf50 !important; -} - -.text-yellow-200 { - color: #f7d12e !important; -} - -.text-yellow-300 { - color: #e7af06 !important; -} - -.text-red-000 { - color: #f77e7e !important; -} - -.text-red-100 { - color: #f96e65 !important; -} - -.text-red-200 { - color: #e94c4c !important; -} - -.text-red-300 { - color: #dd2e2e !important; -} - -.bg-grey-dk-000 { - background-color: #959396 !important; -} - -.bg-grey-dk-100 { - background-color: #5c5962 !important; -} - -.bg-grey-dk-200 { - background-color: #44434d !important; -} - -.bg-grey-dk-250 { - background-color: #302d36 !important; -} - -.bg-grey-dk-300 { - background-color: #27262b !important; -} - -.bg-grey-lt-000 { - background-color: #f5f6fa !important; -} - -.bg-grey-lt-100 { - background-color: #eeebee !important; -} - -.bg-grey-lt-200 { - background-color: #ecebed !important; -} - -.bg-grey-lt-300 { - background-color: #e6e1e8 !important; -} - -.bg-blue-000 { - background-color: #2c84fa !important; -} - -.bg-blue-100 { - background-color: #2869e6 !important; -} - -.bg-blue-200 { - background-color: #264caf !important; -} - -.bg-blue-300 { - background-color: #183385 !important; -} - -.bg-green-000 { - background-color: #41d693 !important; -} - -.bg-green-100 { - background-color: #11b584 !important; -} - -.bg-green-200 { - background-color: #009c7b !important; -} - -.bg-green-300 { - background-color: #026e57 !important; -} - -.bg-purple-000 { - background-color: #7253ed !important; -} - -.bg-purple-100 { - background-color: #5e41d0 !important; -} - -.bg-purple-200 { - background-color: #4e26af !important; -} - -.bg-purple-300 { - background-color: #381885 !important; -} - -.bg-yellow-000 { - background-color: #ffeb82 !important; -} - -.bg-yellow-100 { - background-color: #fadf50 !important; -} - -.bg-yellow-200 { - background-color: #f7d12e !important; -} - -.bg-yellow-300 { - background-color: #e7af06 !important; -} - -.bg-red-000 { - background-color: #f77e7e !important; -} - -.bg-red-100 { - background-color: #f96e65 !important; -} - -.bg-red-200 { - background-color: #e94c4c !important; -} - -.bg-red-300 { - background-color: #dd2e2e !important; -} - -.d-block { - display: block !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-none { - display: none !important; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 20rem) { - .d-xs-block { - display: block !important; - } - .d-xs-flex { - display: flex !important; - } - .d-xs-inline { - display: inline !important; - } - .d-xs-inline-block { - display: inline-block !important; - } - .d-xs-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 31.25rem) { - .d-sm-block { - display: block !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 50rem) { - .d-md-block { - display: block !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 66.5rem) { - .d-lg-block { - display: block !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -@media (min-width: 87.5rem) { - .d-xl-block { - display: block !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-none { - display: none !important; - } -} -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.flex-justify-start { - justify-content: flex-start !important; -} - -.flex-justify-end { - justify-content: flex-end !important; -} - -.flex-justify-between { - justify-content: space-between !important; -} - -.flex-justify-around { - justify-content: space-around !important; -} - -.v-align-baseline { - vertical-align: baseline !important; -} - -.v-align-bottom { - vertical-align: bottom !important; -} - -.v-align-middle { - vertical-align: middle !important; -} - -.v-align-text-bottom { - vertical-align: text-bottom !important; -} - -.v-align-text-top { - vertical-align: text-top !important; -} - -.v-align-top { - vertical-align: top !important; -} - -.fs-1 { - font-size: 0.5625rem !important; -} -@media (min-width: 31.25rem) { - .fs-1 { - font-size: 0.625rem !important; - } -} - -.fs-2 { - font-size: 0.6875rem !important; -} -@media (min-width: 31.25rem) { - .fs-2 { - font-size: 0.75rem !important; - } -} - -.fs-3 { - font-size: 0.75rem !important; -} -@media (min-width: 31.25rem) { - .fs-3 { - font-size: 0.875rem !important; - } -} - -.fs-4 { - font-size: 0.875rem !important; -} -@media (min-width: 31.25rem) { - .fs-4 { - font-size: 1rem !important; - } -} - -.fs-5 { - font-size: 1rem !important; -} -@media (min-width: 31.25rem) { - .fs-5 { - font-size: 1.125rem !important; - } -} - -.fs-6 { - font-size: 1.125rem !important; -} -@media (min-width: 31.25rem) { - .fs-6 { - font-size: 1.5rem !important; - line-height: 1.25; - } -} - -.fs-7 { - font-size: 1.5rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-7 { - font-size: 2rem !important; - } -} - -.fs-8 { - font-size: 2rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-8 { - font-size: 2.25rem !important; - } -} - -.fs-9 { - font-size: 2.25rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-9 { - font-size: 2.625rem !important; - } -} - -.fs-10 { - font-size: 2.625rem !important; - line-height: 1.25; -} -@media (min-width: 31.25rem) { - .fs-10 { - font-size: 3rem !important; - } -} - -.fw-300 { - font-weight: 300 !important; -} - -.fw-400 { - font-weight: 400 !important; -} - -.fw-500 { - font-weight: 500 !important; -} - -.fw-700 { - font-weight: 700 !important; -} - -.lh-0 { - line-height: 0 !important; -} - -.lh-default { - line-height: 1.4; -} - -.lh-tight { - line-height: 1.25; -} - -.ls-5 { - letter-spacing: 0.05em !important; -} - -.ls-10 { - letter-spacing: 0.1em !important; -} - -.ls-0 { - letter-spacing: 0 !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.list-style-none { - padding: 0 !important; - margin: 0 !important; - list-style: none !important; -} -.list-style-none li::before { - display: none !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.mxn-0 { - margin-right: -0 !important; - margin-left: -0 !important; -} - -.mx-0-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.mxn-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; -} - -.mx-1-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.mxn-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; -} - -.mx-2-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-3 { - margin: 0.75rem !important; -} - -.mt-3 { - margin-top: 0.75rem !important; -} - -.mr-3 { - margin-right: 0.75rem !important; -} - -.mb-3 { - margin-bottom: 0.75rem !important; -} - -.ml-3 { - margin-left: 0.75rem !important; -} - -.mx-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; -} - -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} - -.mxn-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; -} - -.mx-3-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-4 { - margin: 1rem !important; -} - -.mt-4 { - margin-top: 1rem !important; -} - -.mr-4 { - margin-right: 1rem !important; -} - -.mb-4 { - margin-bottom: 1rem !important; -} - -.ml-4 { - margin-left: 1rem !important; -} - -.mx-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.mxn-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; -} - -.mx-4-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-5 { - margin: 1.5rem !important; -} - -.mt-5 { - margin-top: 1.5rem !important; -} - -.mr-5 { - margin-right: 1.5rem !important; -} - -.mb-5 { - margin-bottom: 1.5rem !important; -} - -.ml-5 { - margin-left: 1.5rem !important; -} - -.mx-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.mxn-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; -} - -.mx-5-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-6 { - margin: 2rem !important; -} - -.mt-6 { - margin-top: 2rem !important; -} - -.mr-6 { - margin-right: 2rem !important; -} - -.mb-6 { - margin-bottom: 2rem !important; -} - -.ml-6 { - margin-left: 2rem !important; -} - -.mx-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; -} - -.my-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.mxn-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; -} - -.mx-6-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-7 { - margin: 2.5rem !important; -} - -.mt-7 { - margin-top: 2.5rem !important; -} - -.mr-7 { - margin-right: 2.5rem !important; -} - -.mb-7 { - margin-bottom: 2.5rem !important; -} - -.ml-7 { - margin-left: 2.5rem !important; -} - -.mx-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; -} - -.my-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; -} - -.mxn-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; -} - -.mx-7-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-8 { - margin: 3rem !important; -} - -.mt-8 { - margin-top: 3rem !important; -} - -.mr-8 { - margin-right: 3rem !important; -} - -.mb-8 { - margin-bottom: 3rem !important; -} - -.ml-8 { - margin-left: 3rem !important; -} - -.mx-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.mxn-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; -} - -.mx-8-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-9 { - margin: 3.5rem !important; -} - -.mt-9 { - margin-top: 3.5rem !important; -} - -.mr-9 { - margin-right: 3.5rem !important; -} - -.mb-9 { - margin-bottom: 3.5rem !important; -} - -.ml-9 { - margin-left: 3.5rem !important; -} - -.mx-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; -} - -.my-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; -} - -.mxn-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; -} - -.mx-9-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.m-10 { - margin: 4rem !important; -} - -.mt-10 { - margin-top: 4rem !important; -} - -.mr-10 { - margin-right: 4rem !important; -} - -.mb-10 { - margin-bottom: 4rem !important; -} - -.ml-10 { - margin-left: 4rem !important; -} - -.mx-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; -} - -.my-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.mxn-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; -} - -.mx-10-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -@media (min-width: 20rem) { - .m-xs-0 { - margin: 0 !important; - } - .mt-xs-0 { - margin-top: 0 !important; - } - .mr-xs-0 { - margin-right: 0 !important; - } - .mb-xs-0 { - margin-bottom: 0 !important; - } - .ml-xs-0 { - margin-left: 0 !important; - } - .mx-xs-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xs-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xs-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 20rem) { - .m-xs-1 { - margin: 0.25rem !important; - } - .mt-xs-1 { - margin-top: 0.25rem !important; - } - .mr-xs-1 { - margin-right: 0.25rem !important; - } - .mb-xs-1 { - margin-bottom: 0.25rem !important; - } - .ml-xs-1 { - margin-left: 0.25rem !important; - } - .mx-xs-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xs-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xs-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-2 { - margin: 0.5rem !important; - } - .mt-xs-2 { - margin-top: 0.5rem !important; - } - .mr-xs-2 { - margin-right: 0.5rem !important; - } - .mb-xs-2 { - margin-bottom: 0.5rem !important; - } - .ml-xs-2 { - margin-left: 0.5rem !important; - } - .mx-xs-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xs-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xs-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-3 { - margin: 0.75rem !important; - } - .mt-xs-3 { - margin-top: 0.75rem !important; - } - .mr-xs-3 { - margin-right: 0.75rem !important; - } - .mb-xs-3 { - margin-bottom: 0.75rem !important; - } - .ml-xs-3 { - margin-left: 0.75rem !important; - } - .mx-xs-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xs-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xs-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-4 { - margin: 1rem !important; - } - .mt-xs-4 { - margin-top: 1rem !important; - } - .mr-xs-4 { - margin-right: 1rem !important; - } - .mb-xs-4 { - margin-bottom: 1rem !important; - } - .ml-xs-4 { - margin-left: 1rem !important; - } - .mx-xs-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xs-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xs-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-5 { - margin: 1.5rem !important; - } - .mt-xs-5 { - margin-top: 1.5rem !important; - } - .mr-xs-5 { - margin-right: 1.5rem !important; - } - .mb-xs-5 { - margin-bottom: 1.5rem !important; - } - .ml-xs-5 { - margin-left: 1.5rem !important; - } - .mx-xs-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xs-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xs-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-6 { - margin: 2rem !important; - } - .mt-xs-6 { - margin-top: 2rem !important; - } - .mr-xs-6 { - margin-right: 2rem !important; - } - .mb-xs-6 { - margin-bottom: 2rem !important; - } - .ml-xs-6 { - margin-left: 2rem !important; - } - .mx-xs-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xs-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xs-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-7 { - margin: 2.5rem !important; - } - .mt-xs-7 { - margin-top: 2.5rem !important; - } - .mr-xs-7 { - margin-right: 2.5rem !important; - } - .mb-xs-7 { - margin-bottom: 2.5rem !important; - } - .ml-xs-7 { - margin-left: 2.5rem !important; - } - .mx-xs-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xs-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xs-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-8 { - margin: 3rem !important; - } - .mt-xs-8 { - margin-top: 3rem !important; - } - .mr-xs-8 { - margin-right: 3rem !important; - } - .mb-xs-8 { - margin-bottom: 3rem !important; - } - .ml-xs-8 { - margin-left: 3rem !important; - } - .mx-xs-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xs-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xs-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-9 { - margin: 3.5rem !important; - } - .mt-xs-9 { - margin-top: 3.5rem !important; - } - .mr-xs-9 { - margin-right: 3.5rem !important; - } - .mb-xs-9 { - margin-bottom: 3.5rem !important; - } - .ml-xs-9 { - margin-left: 3.5rem !important; - } - .mx-xs-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xs-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xs-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 20rem) { - .m-xs-10 { - margin: 4rem !important; - } - .mt-xs-10 { - margin-top: 4rem !important; - } - .mr-xs-10 { - margin-right: 4rem !important; - } - .mb-xs-10 { - margin-bottom: 4rem !important; - } - .ml-xs-10 { - margin-left: 4rem !important; - } - .mx-xs-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xs-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xs-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-sm-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-sm-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-sm-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-3 { - margin: 0.75rem !important; - } - .mt-sm-3 { - margin-top: 0.75rem !important; - } - .mr-sm-3 { - margin-right: 0.75rem !important; - } - .mb-sm-3 { - margin-bottom: 0.75rem !important; - } - .ml-sm-3 { - margin-left: 0.75rem !important; - } - .mx-sm-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-sm-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-sm-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-4 { - margin: 1rem !important; - } - .mt-sm-4 { - margin-top: 1rem !important; - } - .mr-sm-4 { - margin-right: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 1rem !important; - } - .ml-sm-4 { - margin-left: 1rem !important; - } - .mx-sm-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-sm-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-5 { - margin: 1.5rem !important; - } - .mt-sm-5 { - margin-top: 1.5rem !important; - } - .mr-sm-5 { - margin-right: 1.5rem !important; - } - .mb-sm-5 { - margin-bottom: 1.5rem !important; - } - .ml-sm-5 { - margin-left: 1.5rem !important; - } - .mx-sm-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-sm-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-6 { - margin: 2rem !important; - } - .mt-sm-6 { - margin-top: 2rem !important; - } - .mr-sm-6 { - margin-right: 2rem !important; - } - .mb-sm-6 { - margin-bottom: 2rem !important; - } - .ml-sm-6 { - margin-left: 2rem !important; - } - .mx-sm-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-sm-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-sm-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-7 { - margin: 2.5rem !important; - } - .mt-sm-7 { - margin-top: 2.5rem !important; - } - .mr-sm-7 { - margin-right: 2.5rem !important; - } - .mb-sm-7 { - margin-bottom: 2.5rem !important; - } - .ml-sm-7 { - margin-left: 2.5rem !important; - } - .mx-sm-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-sm-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-sm-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-8 { - margin: 3rem !important; - } - .mt-sm-8 { - margin-top: 3rem !important; - } - .mr-sm-8 { - margin-right: 3rem !important; - } - .mb-sm-8 { - margin-bottom: 3rem !important; - } - .ml-sm-8 { - margin-left: 3rem !important; - } - .mx-sm-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-sm-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-9 { - margin: 3.5rem !important; - } - .mt-sm-9 { - margin-top: 3.5rem !important; - } - .mr-sm-9 { - margin-right: 3.5rem !important; - } - .mb-sm-9 { - margin-bottom: 3.5rem !important; - } - .ml-sm-9 { - margin-left: 3.5rem !important; - } - .mx-sm-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-sm-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-sm-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 31.25rem) { - .m-sm-10 { - margin: 4rem !important; - } - .mt-sm-10 { - margin-top: 4rem !important; - } - .mr-sm-10 { - margin-right: 4rem !important; - } - .mb-sm-10 { - margin-bottom: 4rem !important; - } - .ml-sm-10 { - margin-left: 4rem !important; - } - .mx-sm-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-sm-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-sm-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 50rem) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-md-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 50rem) { - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-md-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 50rem) { - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-md-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-3 { - margin: 0.75rem !important; - } - .mt-md-3 { - margin-top: 0.75rem !important; - } - .mr-md-3 { - margin-right: 0.75rem !important; - } - .mb-md-3 { - margin-bottom: 0.75rem !important; - } - .ml-md-3 { - margin-left: 0.75rem !important; - } - .mx-md-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-md-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-md-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 50rem) { - .m-md-4 { - margin: 1rem !important; - } - .mt-md-4 { - margin-top: 1rem !important; - } - .mr-md-4 { - margin-right: 1rem !important; - } - .mb-md-4 { - margin-bottom: 1rem !important; - } - .ml-md-4 { - margin-left: 1rem !important; - } - .mx-md-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-md-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 50rem) { - .m-md-5 { - margin: 1.5rem !important; - } - .mt-md-5 { - margin-top: 1.5rem !important; - } - .mr-md-5 { - margin-right: 1.5rem !important; - } - .mb-md-5 { - margin-bottom: 1.5rem !important; - } - .ml-md-5 { - margin-left: 1.5rem !important; - } - .mx-md-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-md-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-6 { - margin: 2rem !important; - } - .mt-md-6 { - margin-top: 2rem !important; - } - .mr-md-6 { - margin-right: 2rem !important; - } - .mb-md-6 { - margin-bottom: 2rem !important; - } - .ml-md-6 { - margin-left: 2rem !important; - } - .mx-md-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-md-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-md-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 50rem) { - .m-md-7 { - margin: 2.5rem !important; - } - .mt-md-7 { - margin-top: 2.5rem !important; - } - .mr-md-7 { - margin-right: 2.5rem !important; - } - .mb-md-7 { - margin-bottom: 2.5rem !important; - } - .ml-md-7 { - margin-left: 2.5rem !important; - } - .mx-md-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-md-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-md-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-8 { - margin: 3rem !important; - } - .mt-md-8 { - margin-top: 3rem !important; - } - .mr-md-8 { - margin-right: 3rem !important; - } - .mb-md-8 { - margin-bottom: 3rem !important; - } - .ml-md-8 { - margin-left: 3rem !important; - } - .mx-md-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-md-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 50rem) { - .m-md-9 { - margin: 3.5rem !important; - } - .mt-md-9 { - margin-top: 3.5rem !important; - } - .mr-md-9 { - margin-right: 3.5rem !important; - } - .mb-md-9 { - margin-bottom: 3.5rem !important; - } - .ml-md-9 { - margin-left: 3.5rem !important; - } - .mx-md-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-md-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-md-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 50rem) { - .m-md-10 { - margin: 4rem !important; - } - .mt-md-10 { - margin-top: 4rem !important; - } - .mr-md-10 { - margin-right: 4rem !important; - } - .mb-md-10 { - margin-bottom: 4rem !important; - } - .ml-md-10 { - margin-left: 4rem !important; - } - .mx-md-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-md-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-md-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-lg-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-lg-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-lg-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-3 { - margin: 0.75rem !important; - } - .mt-lg-3 { - margin-top: 0.75rem !important; - } - .mr-lg-3 { - margin-right: 0.75rem !important; - } - .mb-lg-3 { - margin-bottom: 0.75rem !important; - } - .ml-lg-3 { - margin-left: 0.75rem !important; - } - .mx-lg-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-lg-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-lg-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-4 { - margin: 1rem !important; - } - .mt-lg-4 { - margin-top: 1rem !important; - } - .mr-lg-4 { - margin-right: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 1rem !important; - } - .ml-lg-4 { - margin-left: 1rem !important; - } - .mx-lg-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-lg-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-5 { - margin: 1.5rem !important; - } - .mt-lg-5 { - margin-top: 1.5rem !important; - } - .mr-lg-5 { - margin-right: 1.5rem !important; - } - .mb-lg-5 { - margin-bottom: 1.5rem !important; - } - .ml-lg-5 { - margin-left: 1.5rem !important; - } - .mx-lg-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-lg-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-6 { - margin: 2rem !important; - } - .mt-lg-6 { - margin-top: 2rem !important; - } - .mr-lg-6 { - margin-right: 2rem !important; - } - .mb-lg-6 { - margin-bottom: 2rem !important; - } - .ml-lg-6 { - margin-left: 2rem !important; - } - .mx-lg-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-lg-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-lg-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-7 { - margin: 2.5rem !important; - } - .mt-lg-7 { - margin-top: 2.5rem !important; - } - .mr-lg-7 { - margin-right: 2.5rem !important; - } - .mb-lg-7 { - margin-bottom: 2.5rem !important; - } - .ml-lg-7 { - margin-left: 2.5rem !important; - } - .mx-lg-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-lg-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-lg-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-8 { - margin: 3rem !important; - } - .mt-lg-8 { - margin-top: 3rem !important; - } - .mr-lg-8 { - margin-right: 3rem !important; - } - .mb-lg-8 { - margin-bottom: 3rem !important; - } - .ml-lg-8 { - margin-left: 3rem !important; - } - .mx-lg-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-lg-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-9 { - margin: 3.5rem !important; - } - .mt-lg-9 { - margin-top: 3.5rem !important; - } - .mr-lg-9 { - margin-right: 3.5rem !important; - } - .mb-lg-9 { - margin-bottom: 3.5rem !important; - } - .ml-lg-9 { - margin-left: 3.5rem !important; - } - .mx-lg-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-lg-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-lg-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 66.5rem) { - .m-lg-10 { - margin: 4rem !important; - } - .mt-lg-10 { - margin-top: 4rem !important; - } - .mr-lg-10 { - margin-right: 4rem !important; - } - .mb-lg-10 { - margin-bottom: 4rem !important; - } - .ml-lg-10 { - margin-left: 4rem !important; - } - .mx-lg-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-lg-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-lg-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .mxn-xl-0 { - margin-right: -0 !important; - margin-left: -0 !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .mxn-xl-1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .mxn-xl-2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-3 { - margin: 0.75rem !important; - } - .mt-xl-3 { - margin-top: 0.75rem !important; - } - .mr-xl-3 { - margin-right: 0.75rem !important; - } - .mb-xl-3 { - margin-bottom: 0.75rem !important; - } - .ml-xl-3 { - margin-left: 0.75rem !important; - } - .mx-xl-3 { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - .my-xl-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } - .mxn-xl-3 { - margin-right: -0.75rem !important; - margin-left: -0.75rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-4 { - margin: 1rem !important; - } - .mt-xl-4 { - margin-top: 1rem !important; - } - .mr-xl-4 { - margin-right: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 1rem !important; - } - .ml-xl-4 { - margin-left: 1rem !important; - } - .mx-xl-4 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .mxn-xl-4 { - margin-right: -1rem !important; - margin-left: -1rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-5 { - margin: 1.5rem !important; - } - .mt-xl-5 { - margin-top: 1.5rem !important; - } - .mr-xl-5 { - margin-right: 1.5rem !important; - } - .mb-xl-5 { - margin-bottom: 1.5rem !important; - } - .ml-xl-5 { - margin-left: 1.5rem !important; - } - .mx-xl-5 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .mxn-xl-5 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-6 { - margin: 2rem !important; - } - .mt-xl-6 { - margin-top: 2rem !important; - } - .mr-xl-6 { - margin-right: 2rem !important; - } - .mb-xl-6 { - margin-bottom: 2rem !important; - } - .ml-xl-6 { - margin-left: 2rem !important; - } - .mx-xl-6 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .my-xl-6 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .mxn-xl-6 { - margin-right: -2rem !important; - margin-left: -2rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-7 { - margin: 2.5rem !important; - } - .mt-xl-7 { - margin-top: 2.5rem !important; - } - .mr-xl-7 { - margin-right: 2.5rem !important; - } - .mb-xl-7 { - margin-bottom: 2.5rem !important; - } - .ml-xl-7 { - margin-left: 2.5rem !important; - } - .mx-xl-7 { - margin-right: 2.5rem !important; - margin-left: 2.5rem !important; - } - .my-xl-7 { - margin-top: 2.5rem !important; - margin-bottom: 2.5rem !important; - } - .mxn-xl-7 { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-8 { - margin: 3rem !important; - } - .mt-xl-8 { - margin-top: 3rem !important; - } - .mr-xl-8 { - margin-right: 3rem !important; - } - .mb-xl-8 { - margin-bottom: 3rem !important; - } - .ml-xl-8 { - margin-left: 3rem !important; - } - .mx-xl-8 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-8 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .mxn-xl-8 { - margin-right: -3rem !important; - margin-left: -3rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-9 { - margin: 3.5rem !important; - } - .mt-xl-9 { - margin-top: 3.5rem !important; - } - .mr-xl-9 { - margin-right: 3.5rem !important; - } - .mb-xl-9 { - margin-bottom: 3.5rem !important; - } - .ml-xl-9 { - margin-left: 3.5rem !important; - } - .mx-xl-9 { - margin-right: 3.5rem !important; - margin-left: 3.5rem !important; - } - .my-xl-9 { - margin-top: 3.5rem !important; - margin-bottom: 3.5rem !important; - } - .mxn-xl-9 { - margin-right: -3.5rem !important; - margin-left: -3.5rem !important; - } -} -@media (min-width: 87.5rem) { - .m-xl-10 { - margin: 4rem !important; - } - .mt-xl-10 { - margin-top: 4rem !important; - } - .mr-xl-10 { - margin-right: 4rem !important; - } - .mb-xl-10 { - margin-bottom: 4rem !important; - } - .ml-xl-10 { - margin-left: 4rem !important; - } - .mx-xl-10 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .my-xl-10 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .mxn-xl-10 { - margin-right: -4rem !important; - margin-left: -4rem !important; - } -} -.p-0 { - padding: 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 0.75rem !important; -} - -.pt-3 { - padding-top: 0.75rem !important; -} - -.pr-3 { - padding-right: 0.75rem !important; -} - -.pb-3 { - padding-bottom: 0.75rem !important; -} - -.pl-3 { - padding-left: 0.75rem !important; -} - -.px-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; -} - -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} - -.p-4 { - padding: 1rem !important; -} - -.pt-4 { - padding-top: 1rem !important; -} - -.pr-4 { - padding-right: 1rem !important; -} - -.pb-4 { - padding-bottom: 1rem !important; -} - -.pl-4 { - padding-left: 1rem !important; -} - -.px-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-5 { - padding: 1.5rem !important; -} - -.pt-5 { - padding-top: 1.5rem !important; -} - -.pr-5 { - padding-right: 1.5rem !important; -} - -.pb-5 { - padding-bottom: 1.5rem !important; -} - -.pl-5 { - padding-left: 1.5rem !important; -} - -.px-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-6 { - padding: 2rem !important; -} - -.pt-6 { - padding-top: 2rem !important; -} - -.pr-6 { - padding-right: 2rem !important; -} - -.pb-6 { - padding-bottom: 2rem !important; -} - -.pl-6 { - padding-left: 2rem !important; -} - -.px-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; -} - -.py-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.p-7 { - padding: 2.5rem !important; -} - -.pt-7 { - padding-top: 2.5rem !important; -} - -.pr-7 { - padding-right: 2.5rem !important; -} - -.pb-7 { - padding-bottom: 2.5rem !important; -} - -.pl-7 { - padding-left: 2.5rem !important; -} - -.px-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; -} - -.py-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; -} - -.p-8 { - padding: 3rem !important; -} - -.pt-8 { - padding-top: 3rem !important; -} - -.pr-8 { - padding-right: 3rem !important; -} - -.pb-8 { - padding-bottom: 3rem !important; -} - -.pl-8 { - padding-left: 3rem !important; -} - -.px-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.p-9 { - padding: 3.5rem !important; -} - -.pt-9 { - padding-top: 3.5rem !important; -} - -.pr-9 { - padding-right: 3.5rem !important; -} - -.pb-9 { - padding-bottom: 3.5rem !important; -} - -.pl-9 { - padding-left: 3.5rem !important; -} - -.px-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; -} - -.py-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; -} - -.p-10 { - padding: 4rem !important; -} - -.pt-10 { - padding-top: 4rem !important; -} - -.pr-10 { - padding-right: 4rem !important; -} - -.pb-10 { - padding-bottom: 4rem !important; -} - -.pl-10 { - padding-left: 4rem !important; -} - -.px-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; -} - -.py-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -@media (min-width: 20rem) { - .p-xs-0 { - padding: 0 !important; - } - .pt-xs-0 { - padding-top: 0 !important; - } - .pr-xs-0 { - padding-right: 0 !important; - } - .pb-xs-0 { - padding-bottom: 0 !important; - } - .pl-xs-0 { - padding-left: 0 !important; - } - .px-xs-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xs-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xs-1 { - padding: 0.25rem !important; - } - .pt-xs-1 { - padding-top: 0.25rem !important; - } - .pr-xs-1 { - padding-right: 0.25rem !important; - } - .pb-xs-1 { - padding-bottom: 0.25rem !important; - } - .pl-xs-1 { - padding-left: 0.25rem !important; - } - .px-xs-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xs-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xs-2 { - padding: 0.5rem !important; - } - .pt-xs-2 { - padding-top: 0.5rem !important; - } - .pr-xs-2 { - padding-right: 0.5rem !important; - } - .pb-xs-2 { - padding-bottom: 0.5rem !important; - } - .pl-xs-2 { - padding-left: 0.5rem !important; - } - .px-xs-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xs-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xs-3 { - padding: 0.75rem !important; - } - .pt-xs-3 { - padding-top: 0.75rem !important; - } - .pr-xs-3 { - padding-right: 0.75rem !important; - } - .pb-xs-3 { - padding-bottom: 0.75rem !important; - } - .pl-xs-3 { - padding-left: 0.75rem !important; - } - .px-xs-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xs-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xs-4 { - padding: 1rem !important; - } - .pt-xs-4 { - padding-top: 1rem !important; - } - .pr-xs-4 { - padding-right: 1rem !important; - } - .pb-xs-4 { - padding-bottom: 1rem !important; - } - .pl-xs-4 { - padding-left: 1rem !important; - } - .px-xs-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xs-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xs-5 { - padding: 1.5rem !important; - } - .pt-xs-5 { - padding-top: 1.5rem !important; - } - .pr-xs-5 { - padding-right: 1.5rem !important; - } - .pb-xs-5 { - padding-bottom: 1.5rem !important; - } - .pl-xs-5 { - padding-left: 1.5rem !important; - } - .px-xs-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xs-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xs-6 { - padding: 2rem !important; - } - .pt-xs-6 { - padding-top: 2rem !important; - } - .pr-xs-6 { - padding-right: 2rem !important; - } - .pb-xs-6 { - padding-bottom: 2rem !important; - } - .pl-xs-6 { - padding-left: 2rem !important; - } - .px-xs-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xs-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xs-7 { - padding: 2.5rem !important; - } - .pt-xs-7 { - padding-top: 2.5rem !important; - } - .pr-xs-7 { - padding-right: 2.5rem !important; - } - .pb-xs-7 { - padding-bottom: 2.5rem !important; - } - .pl-xs-7 { - padding-left: 2.5rem !important; - } - .px-xs-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xs-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xs-8 { - padding: 3rem !important; - } - .pt-xs-8 { - padding-top: 3rem !important; - } - .pr-xs-8 { - padding-right: 3rem !important; - } - .pb-xs-8 { - padding-bottom: 3rem !important; - } - .pl-xs-8 { - padding-left: 3rem !important; - } - .px-xs-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xs-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xs-9 { - padding: 3.5rem !important; - } - .pt-xs-9 { - padding-top: 3.5rem !important; - } - .pr-xs-9 { - padding-right: 3.5rem !important; - } - .pb-xs-9 { - padding-bottom: 3.5rem !important; - } - .pl-xs-9 { - padding-left: 3.5rem !important; - } - .px-xs-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xs-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xs-10 { - padding: 4rem !important; - } - .pt-xs-10 { - padding-top: 4rem !important; - } - .pr-xs-10 { - padding-right: 4rem !important; - } - .pb-xs-10 { - padding-bottom: 4rem !important; - } - .pl-xs-10 { - padding-left: 4rem !important; - } - .px-xs-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xs-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 31.25rem) { - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 0.75rem !important; - } - .pt-sm-3 { - padding-top: 0.75rem !important; - } - .pr-sm-3 { - padding-right: 0.75rem !important; - } - .pb-sm-3 { - padding-bottom: 0.75rem !important; - } - .pl-sm-3 { - padding-left: 0.75rem !important; - } - .px-sm-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-sm-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-sm-4 { - padding: 1rem !important; - } - .pt-sm-4 { - padding-top: 1rem !important; - } - .pr-sm-4 { - padding-right: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 1rem !important; - } - .pl-sm-4 { - padding-left: 1rem !important; - } - .px-sm-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-5 { - padding: 1.5rem !important; - } - .pt-sm-5 { - padding-top: 1.5rem !important; - } - .pr-sm-5 { - padding-right: 1.5rem !important; - } - .pb-sm-5 { - padding-bottom: 1.5rem !important; - } - .pl-sm-5 { - padding-left: 1.5rem !important; - } - .px-sm-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-6 { - padding: 2rem !important; - } - .pt-sm-6 { - padding-top: 2rem !important; - } - .pr-sm-6 { - padding-right: 2rem !important; - } - .pb-sm-6 { - padding-bottom: 2rem !important; - } - .pl-sm-6 { - padding-left: 2rem !important; - } - .px-sm-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-sm-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-sm-7 { - padding: 2.5rem !important; - } - .pt-sm-7 { - padding-top: 2.5rem !important; - } - .pr-sm-7 { - padding-right: 2.5rem !important; - } - .pb-sm-7 { - padding-bottom: 2.5rem !important; - } - .pl-sm-7 { - padding-left: 2.5rem !important; - } - .px-sm-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-sm-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-sm-8 { - padding: 3rem !important; - } - .pt-sm-8 { - padding-top: 3rem !important; - } - .pr-sm-8 { - padding-right: 3rem !important; - } - .pb-sm-8 { - padding-bottom: 3rem !important; - } - .pl-sm-8 { - padding-left: 3rem !important; - } - .px-sm-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-sm-9 { - padding: 3.5rem !important; - } - .pt-sm-9 { - padding-top: 3.5rem !important; - } - .pr-sm-9 { - padding-right: 3.5rem !important; - } - .pb-sm-9 { - padding-bottom: 3.5rem !important; - } - .pl-sm-9 { - padding-left: 3.5rem !important; - } - .px-sm-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-sm-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-sm-10 { - padding: 4rem !important; - } - .pt-sm-10 { - padding-top: 4rem !important; - } - .pr-sm-10 { - padding-right: 4rem !important; - } - .pb-sm-10 { - padding-bottom: 4rem !important; - } - .pl-sm-10 { - padding-left: 4rem !important; - } - .px-sm-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-sm-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 50rem) { - .p-md-0 { - padding: 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 0.75rem !important; - } - .pt-md-3 { - padding-top: 0.75rem !important; - } - .pr-md-3 { - padding-right: 0.75rem !important; - } - .pb-md-3 { - padding-bottom: 0.75rem !important; - } - .pl-md-3 { - padding-left: 0.75rem !important; - } - .px-md-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-md-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-md-4 { - padding: 1rem !important; - } - .pt-md-4 { - padding-top: 1rem !important; - } - .pr-md-4 { - padding-right: 1rem !important; - } - .pb-md-4 { - padding-bottom: 1rem !important; - } - .pl-md-4 { - padding-left: 1rem !important; - } - .px-md-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-5 { - padding: 1.5rem !important; - } - .pt-md-5 { - padding-top: 1.5rem !important; - } - .pr-md-5 { - padding-right: 1.5rem !important; - } - .pb-md-5 { - padding-bottom: 1.5rem !important; - } - .pl-md-5 { - padding-left: 1.5rem !important; - } - .px-md-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-6 { - padding: 2rem !important; - } - .pt-md-6 { - padding-top: 2rem !important; - } - .pr-md-6 { - padding-right: 2rem !important; - } - .pb-md-6 { - padding-bottom: 2rem !important; - } - .pl-md-6 { - padding-left: 2rem !important; - } - .px-md-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-md-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-md-7 { - padding: 2.5rem !important; - } - .pt-md-7 { - padding-top: 2.5rem !important; - } - .pr-md-7 { - padding-right: 2.5rem !important; - } - .pb-md-7 { - padding-bottom: 2.5rem !important; - } - .pl-md-7 { - padding-left: 2.5rem !important; - } - .px-md-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-md-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-md-8 { - padding: 3rem !important; - } - .pt-md-8 { - padding-top: 3rem !important; - } - .pr-md-8 { - padding-right: 3rem !important; - } - .pb-md-8 { - padding-bottom: 3rem !important; - } - .pl-md-8 { - padding-left: 3rem !important; - } - .px-md-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-md-9 { - padding: 3.5rem !important; - } - .pt-md-9 { - padding-top: 3.5rem !important; - } - .pr-md-9 { - padding-right: 3.5rem !important; - } - .pb-md-9 { - padding-bottom: 3.5rem !important; - } - .pl-md-9 { - padding-left: 3.5rem !important; - } - .px-md-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-md-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-md-10 { - padding: 4rem !important; - } - .pt-md-10 { - padding-top: 4rem !important; - } - .pr-md-10 { - padding-right: 4rem !important; - } - .pb-md-10 { - padding-bottom: 4rem !important; - } - .pl-md-10 { - padding-left: 4rem !important; - } - .px-md-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-md-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 66.5rem) { - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 0.75rem !important; - } - .pt-lg-3 { - padding-top: 0.75rem !important; - } - .pr-lg-3 { - padding-right: 0.75rem !important; - } - .pb-lg-3 { - padding-bottom: 0.75rem !important; - } - .pl-lg-3 { - padding-left: 0.75rem !important; - } - .px-lg-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-lg-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-lg-4 { - padding: 1rem !important; - } - .pt-lg-4 { - padding-top: 1rem !important; - } - .pr-lg-4 { - padding-right: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 1rem !important; - } - .pl-lg-4 { - padding-left: 1rem !important; - } - .px-lg-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-5 { - padding: 1.5rem !important; - } - .pt-lg-5 { - padding-top: 1.5rem !important; - } - .pr-lg-5 { - padding-right: 1.5rem !important; - } - .pb-lg-5 { - padding-bottom: 1.5rem !important; - } - .pl-lg-5 { - padding-left: 1.5rem !important; - } - .px-lg-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-6 { - padding: 2rem !important; - } - .pt-lg-6 { - padding-top: 2rem !important; - } - .pr-lg-6 { - padding-right: 2rem !important; - } - .pb-lg-6 { - padding-bottom: 2rem !important; - } - .pl-lg-6 { - padding-left: 2rem !important; - } - .px-lg-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-lg-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-lg-7 { - padding: 2.5rem !important; - } - .pt-lg-7 { - padding-top: 2.5rem !important; - } - .pr-lg-7 { - padding-right: 2.5rem !important; - } - .pb-lg-7 { - padding-bottom: 2.5rem !important; - } - .pl-lg-7 { - padding-left: 2.5rem !important; - } - .px-lg-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-lg-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-lg-8 { - padding: 3rem !important; - } - .pt-lg-8 { - padding-top: 3rem !important; - } - .pr-lg-8 { - padding-right: 3rem !important; - } - .pb-lg-8 { - padding-bottom: 3rem !important; - } - .pl-lg-8 { - padding-left: 3rem !important; - } - .px-lg-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-lg-9 { - padding: 3.5rem !important; - } - .pt-lg-9 { - padding-top: 3.5rem !important; - } - .pr-lg-9 { - padding-right: 3.5rem !important; - } - .pb-lg-9 { - padding-bottom: 3.5rem !important; - } - .pl-lg-9 { - padding-left: 3.5rem !important; - } - .px-lg-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-lg-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-lg-10 { - padding: 4rem !important; - } - .pt-lg-10 { - padding-top: 4rem !important; - } - .pr-lg-10 { - padding-right: 4rem !important; - } - .pb-lg-10 { - padding-bottom: 4rem !important; - } - .pl-lg-10 { - padding-left: 4rem !important; - } - .px-lg-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-lg-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media (min-width: 87.5rem) { - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 0.75rem !important; - } - .pt-xl-3 { - padding-top: 0.75rem !important; - } - .pr-xl-3 { - padding-right: 0.75rem !important; - } - .pb-xl-3 { - padding-bottom: 0.75rem !important; - } - .pl-xl-3 { - padding-left: 0.75rem !important; - } - .px-xl-3 { - padding-right: 0.75rem !important; - padding-left: 0.75rem !important; - } - .py-xl-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; - } - .p-xl-4 { - padding: 1rem !important; - } - .pt-xl-4 { - padding-top: 1rem !important; - } - .pr-xl-4 { - padding-right: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 1rem !important; - } - .pl-xl-4 { - padding-left: 1rem !important; - } - .px-xl-4 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-5 { - padding: 1.5rem !important; - } - .pt-xl-5 { - padding-top: 1.5rem !important; - } - .pr-xl-5 { - padding-right: 1.5rem !important; - } - .pb-xl-5 { - padding-bottom: 1.5rem !important; - } - .pl-xl-5 { - padding-left: 1.5rem !important; - } - .px-xl-5 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-6 { - padding: 2rem !important; - } - .pt-xl-6 { - padding-top: 2rem !important; - } - .pr-xl-6 { - padding-right: 2rem !important; - } - .pb-xl-6 { - padding-bottom: 2rem !important; - } - .pl-xl-6 { - padding-left: 2rem !important; - } - .px-xl-6 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .py-xl-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .p-xl-7 { - padding: 2.5rem !important; - } - .pt-xl-7 { - padding-top: 2.5rem !important; - } - .pr-xl-7 { - padding-right: 2.5rem !important; - } - .pb-xl-7 { - padding-bottom: 2.5rem !important; - } - .pl-xl-7 { - padding-left: 2.5rem !important; - } - .px-xl-7 { - padding-right: 2.5rem !important; - padding-left: 2.5rem !important; - } - .py-xl-7 { - padding-top: 2.5rem !important; - padding-bottom: 2.5rem !important; - } - .p-xl-8 { - padding: 3rem !important; - } - .pt-xl-8 { - padding-top: 3rem !important; - } - .pr-xl-8 { - padding-right: 3rem !important; - } - .pb-xl-8 { - padding-bottom: 3rem !important; - } - .pl-xl-8 { - padding-left: 3rem !important; - } - .px-xl-8 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-8 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .p-xl-9 { - padding: 3.5rem !important; - } - .pt-xl-9 { - padding-top: 3.5rem !important; - } - .pr-xl-9 { - padding-right: 3.5rem !important; - } - .pb-xl-9 { - padding-bottom: 3.5rem !important; - } - .pl-xl-9 { - padding-left: 3.5rem !important; - } - .px-xl-9 { - padding-right: 3.5rem !important; - padding-left: 3.5rem !important; - } - .py-xl-9 { - padding-top: 3.5rem !important; - padding-bottom: 3.5rem !important; - } - .p-xl-10 { - padding: 4rem !important; - } - .pt-xl-10 { - padding-top: 4rem !important; - } - .pr-xl-10 { - padding-right: 4rem !important; - } - .pb-xl-10 { - padding-bottom: 4rem !important; - } - .pl-xl-10 { - padding-left: 4rem !important; - } - .px-xl-10 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xl-10 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } -} -@media print { - .site-footer, - .site-button, - #edit-this-page, - #back-to-top, - .site-nav, - .main-header { - display: none !important; - } - hr { - margin-top: 1rem; - margin-bottom: 1rem; - } - .side-bar { - width: 100%; - height: auto; - border-right: 0 !important; - } - .site-header { - border-bottom: 1px solid #D5D6E0; - } - .site-title { - font-size: 1rem !important; - font-weight: 700 !important; - } - .text-small { - font-size: 8pt !important; - } - pre.highlight { - border: 1px solid #D5D6E0; - } - .main { - max-width: none; - margin-left: 0; - } -} -a.skip-to-main { - left: -999px; - position: absolute; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; - z-index: -999; -} - -a.skip-to-main:focus, -a.skip-to-main:active { - color: #2D8F52; - background-color: #F5F6FA; - left: auto; - top: auto; - width: 30%; - height: auto; - overflow: auto; - margin: 10px 35%; - padding: 5px; - border-radius: 15px; - border: 4px solid #2D8F52; - text-align: center; - font-size: 1.2em; - z-index: 999; -} - -div.opaque { - background-color: #F5F6FA; -} - -p.tip, blockquote.tip { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip::before, blockquote.tip::before { - color: #026e57; - content: "Tip"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.tip > .tip-title, blockquote.tip > .tip-title { - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.tip-title, blockquote.tip-title { - border: 1px #41d693 solid; - border-left: 4px solid #026e57; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.tip-title > p:first-child, blockquote.tip-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #026e57; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.tip { - margin-left: 0; - margin-right: 0; -} -blockquote.tip > p:first-child { - margin-top: 0; -} -blockquote.tip > p:last-child { - margin-bottom: 0; -} - -blockquote.tip-title { - margin-left: 0; - margin-right: 0; -} -blockquote.tip-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.tip-title > p:last-child { - margin-bottom: 0; -} - -p.note, blockquote.note { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note::before, blockquote.note::before { - color: #183385; - content: "Note"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.note > .note-title, blockquote.note > .note-title { - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.note-title, blockquote.note-title { - border: 1px #2c84fa solid; - border-left: 4px solid #183385; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.note-title > p:first-child, blockquote.note-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #183385; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.note { - margin-left: 0; - margin-right: 0; -} -blockquote.note > p:first-child { - margin-top: 0; -} -blockquote.note > p:last-child { - margin-bottom: 0; -} - -blockquote.note-title { - margin-left: 0; - margin-right: 0; -} -blockquote.note-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.note-title > p:last-child { - margin-bottom: 0; -} - -p.warning, blockquote.warning { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning::before, blockquote.warning::before { - color: #e7af06; - content: "Warning"; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} -p.warning > .warning-title, blockquote.warning > .warning-title { - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -p.warning-title, blockquote.warning-title { - border: 1px #ffeb82 solid; - border-left: 4px solid #e7af06; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); - padding: 0.8rem; -} -p.warning-title > p:first-child, blockquote.warning-title > p:first-child { - margin-top: 0; - margin-bottom: 0; - color: #e7af06; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 0.75em; - padding-bottom: 0.125rem; -} - -blockquote.warning { - margin-left: 0; - margin-right: 0; -} -blockquote.warning > p:first-child { - margin-top: 0; -} -blockquote.warning > p:last-child { - margin-bottom: 0; -} - -blockquote.warning-title { - margin-left: 0; - margin-right: 0; -} -blockquote.warning-title > p:nth-child(2) { - margin-top: 0; -} -blockquote.warning-title > p:last-child { - margin-bottom: 0; -} - -/*# sourceMappingURL=just-the-docs-meshtastic.css.map */ \ No newline at end of file diff --git a/v2.8.0/assets/css/just-the-docs-meshtastic.css.map b/v2.8.0/assets/css/just-the-docs-meshtastic.css.map deleted file mode 100644 index ddb599ea6e..0000000000 --- a/v2.8.0/assets/css/just-the-docs-meshtastic.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/base.scss","../../_sass/color_schemes/meshtastic.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/_variables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/content.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/navigation.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/labels.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/color_schemes/light.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/support/mixins/_buttons.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/search.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/tables.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/code.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_colors.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_layout.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_typography.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_lists.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/utilities/_spacing.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/print.scss","../../../../../../../../../../tmp/jekyll-remote-theme-20260803-5814-la8fbe/_sass/skiptomain.scss","just-the-docs-meshtastic.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCGa;;;ADAf;EACE;;;AAGF;EACE;;AEmBA;EACE;;AClBA;EHHJ;IEyBI;;;;AFnBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OCTgB;EDUhB,kBCZsB;EDatB;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OCvCmB;;;AD0CrB;EACE;EACA;;;AAGF;EACE,OC7CW;ED8CX;;;AAGF;EACE;EACA,uBCvCa;EDwCb;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBCvEa;EDwEb;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBJKc;;AEGZ;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBJ5BU;;AEGZ;EEuBA;IAKI;IACA,kBJjCgB;;;AIoClB;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,OJzHmB;EEYnB,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF/BL;EACE;;ACtCA;EEiHJ;IHvEI;IACA,aEhDuB;;;ADKvB;EEiHJ;IAcI,aD/DG;ICgEH,gBDhEG;;;;AC+EP;EACE;EACA;EACA,SDhFK;ECiFL;;;AFnJE;EEuJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aD/GK;ECgHL,gBDhHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE6KJ;IF9JI,eCqDG;IDpDH,cCoDG;;;AFvEL;EACE;;ACEA;EE6KJ;IH3KI;;;ACFA;EE6KJ;IAYI;IACA;;;;AAIJ;EACE,OD5HK;EC6HL,QD7HK;EC8HL,OJ/LW;;;AKXb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJ1BN;EACE;;ACRA;EG2BE;IJfF;;;ACZA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OLnKO;EKoKP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALoBF;EACE;;AClBA;EILF;IL2BE;;;ACtBA;EDOF;IACE;;;ACRA;EILF;ILiBE;;;AKPA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EAEE,eH0DD;EGzDC,cHqDD;;ADlEH;EIKA;IAeI,YHgDD;IG/CC;IAEE,eH6CH;IG5CG,cH4CH;;;AGrCD;EACE,OHkCD;EGjCC,QHiCD;EGhCC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHUC;EGTD,QHSC;EGRD;EACA,ON7DO;;AEFT;EIsDA;IAYI,OHED;IGDC,QHCD;IGAC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cHvBC;EGwBD;;AAEA;EACE;;AAEA;EACE,ONzFa;;AM4Ff;EACE,ON7Fa;;AMmGjB;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;ALhIA;EACE;;ACEA;EIwHJ;ILtHI;;;ACFA;EIwHJ;IASI;IACA,YHhEG;IGiEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,ONlJG;;AMqJL;EACE,ONtJG;;;AM+Jb;EACE;EACA;;ALtKA;EACE;;ACEA;EIiKJ;IL/JI;;;AKoKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJlLA;EIiKJ;IAqBI,eHpHG;;;;ADlEH;EI4LJ;IAEI;;;;AAIJ;EACE;EACA,eHnIK;EGoIL;;;AAGF;EACE;;AL5MA;EACE;;ACEA;EIwMJ;ILtMI;;;AK0MF;EACE;;AAGF;EACE;EACA,cHlJG;EGmJH,aHnJG;EGoJH,OHpMU;EGqMV;;AAIA;EACE;;;ACrON;AAAA;EAEE;;ANoEA;AAAA;EACE;EACA,aElEuB;;ADKvB;EKXJ;AAAA;IN4EI;;;;AA5BF;AAAA;AAAA;EACE;;ACtCA;EKJJ;AAAA;AAAA;IN8CI;IACA,aEhDuB;;;;AFgCzB;AAAA;EACE;;AC5BA;EKEJ;AAAA;IN8BI;;;;AMzBJ;AAAA;EAEE;EACA;EACA;;ANdA;AAAA;EACE;;ACEA;EKOJ;AAAA;INLI;;;;AMcJ;EACE;;;ANVA;AAAA;EACE;;ACRA;EKoBJ;AAAA;INRI;;;;AAfF;AAAA;EACE;;ACEA;EKyBJ;AAAA;INvBI;;;;AALF;EACE;;ACEA;EK8BJ;IN5BI;;;;AMgCJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APLA;AAAA;EACE;;ACEA;EMRJ;AAAA;IPUI;;;;AOKJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OTIW;ESHX;EACA;EACA;EACA,kBCTkB;EDUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,OT1DW;ES2DX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;EEnGE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AFgFJ;EEvGE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AFoFJ;EE3GE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AFwFJ;EE/GE,OR0BM;EQzBN;EACA;EACA,YACE;;AAGF;EAEE,ORiBI;EQhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AF4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AG3HF;EACE;EACA;EACA;EACA,QTgFM;ES/EN,STuEK;EStEL;;AVME;EUZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QT8DK;ES7DL;EACA,eTmEc;ESlEd,YACE;EAEF;;AVdE;EUKJ;IAYI;IACA;IACA,WTwEmB;ISvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,OZnCgB;EYoChB,kBZVwB;EYWxB;EACA;EACA;EACA;EACA;;AVvCE;EU2BJ;IAeI;IACA;IACA,kBZhDoB;IYiDpB;;;AAGF;EACE;EACA;;AAEA;EACE,OZnDO;;;AYwDb;EACE;EACA;EACA;EACA,cTIK;;ADlEH;EU0DJ;IAOI,cTGG;ISFH;;;AAGF;EACE;EACA;EACA;EACA,OTzDU;;;AS6Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBZ5DwB;EY6DxB,4BTRc;ESSd,2BTTc;ESUd,YACE;;AVxFA;EU6EJ;IAeI;IACA,OTFmB;ISGnB;;;;AAIJ;EACE;EACA,eTrCK;ESsCL;;AXpFA;EACE;;AClBA;EUkGJ;IX5EI;;;ACtBA;EDOF;IACE;;;ACRA;EUkGJ;IXtFI;;;;AWiGJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EAEE,kBZnGa;;;AYuGjB;EACE;EACA,aT9DK;ES+DL,gBT/DK;;ADhEH;EU4HJ;IAMI;IACA;IACA,eTpEG;ISqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AXxIF;EACE;;ACRA;EU8IF;IXlIE;;;ACZA;EDHF;IACE;;;ACEA;EU8IF;IX5IE;;;AWqJF;EACE,OTtFG;ESuFH,QTvFG;ESwFH,cT1FG;ES2FH,OZzJS;EY0JT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OZtK4B;EYuK5B;EACA;;AX5LA;EACE;;ACYA;EUyKJ;IXjLI;;;;AW2LJ;EACE;EACA,aTrHK;ESsHL,gBTtHK;ESuHL,cTrHK;ESsHL,aTxHK;ESyHL,OZlL4B;EYmL5B;EACA,aT/GO;ESgHP,mBZ9Ka;;ACjBb;EACE;;ACEA;EUmLJ;IXjLI;;;ACFA;EUmLJ;IAaI;IACA;IACA,cTlIG;ISmIH;IACA;;;;AAIJ;EACE,YT1IK;;;AS6IP;EACE;;;AAGF;EACE;;AX1MA;EACE;;ACRA;EUgNJ;IXpMI;;;;AWyMJ;EACE;EACA,OTrJK;ESsJL,QTtJK;ESuJL;EACA,OTnJK;ESoJL,QTpJK;ESqJL,kBZpMwB;EYqMxB;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QTxLI;ESyLJ;;AVjQA;EU+PF;IAKI,OTzKiB;IS0KjB,YACE;;;AAKN;EACE,kBZpPsB;;AExBtB;EU2QF;IAII;;;AV/QF;EUmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;AVlSF;EUwSA;IACE;IACA;IACA;;;AAIJ;EACE,aTxOI;;ADxEJ;EU+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eV0EK;EUzEL;EACA,eVkFc;EUjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBbIuB;EaHvB;EACA;;AZNA;AAAA;EACE;;ACRA;EWOJ;AAAA;IZKI;;;AYKF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBVkCD;;;AU3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBdcoB;EcbpB;EACA,eX+EY;;;AW1EhB;EACE,cdUa;;;AcyCf;AAAA;AAAA;EAGE;EACA,eXMK;EWLL,kBdlDsB;EcmDtB,eXgBc;EWfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OXLG;EWMH;EACA;EACA;EACA;EACA,SXVG;EWWH;EACA;EACA,OdhFc;EciFd;;AAEA;AAAA;AAAA;EACE,MdpFY;;AcuFd;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SX/CG;EWgDH;EACA;EACA,eXtCY;;AWyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eXrEK;;AW6CL;EACE;EACA,SX/CG;EWgDH;EACA;EACA,eXtCY;;AWyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SXpFG;EWqFH;EACA;EACA,eX3EY;;;AWmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBdhKoB;EciKpB;;Ab9KF;AAAA;EACE;;ACEA;EYsKF;AAAA;IbpKE;;;Aa8KF;EACE;EACA,eXjHG;EWkHH,cXlHG;;AWqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SX9HK;EW+HL,eX/HK;EWgIL;EACA;EACA,eXtHc;;AWwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YdnNsB;EcsNpB,OdrNoB;;;Ac4NxB;EACE,Yd9NsB;;;AepBxB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AdrBE;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ad5CJ;Ec+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AfhHA;EACE;;ACYA;EeZJ;IhBII;;;;AAKF;EACE;;ACEA;EeRJ;IhBUI;;;;AAKF;EACE;;ACRA;EeJJ;IhBgBI;;;;AAKF;EACE;;AClBA;EeAJ;IhBsBI;;;;AAKF;EACE;;AC5BA;EeIJ;IhB4BI;;;;AAKF;EACE;;ACtCA;EeQJ;IhBkCI;IACA,aEhDuB;;;;AFqDzB;EACE;EACA,aEvDuB;;ADKvB;EeYJ;IhB0CI;;;;AAKF;EACE;EACA,aElEuB;;ADKvB;EegBJ;IhBiDI;;;;AAKF;EACE;EACA,aE7EuB;;ADKvB;EeoBJ;IhBwDI;;;;AAKF;EACE;EACA,aExFuB;;ADKvB;EewBJ;IhB+DI;;;;AgB3DJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,adxDiB;;;Ac2DnB;EACE,ad1DyB;;;Ac6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AjBlCA;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjBzEJ;EiB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AjB7GA;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AjB/IJ;EiBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;ACvCJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OrBCW;EqBAX,kBrBNsB;EqBOtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE,kBtBCsB;;;AsBExB;EACI;EACA;EACA,enB4EY;EmB3EZ;EACA;;AAEA;EACI,OnB8BI;EmB7BJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OnBoBM;EmBnBN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,enBiDY;EmBhDZ;EACA;;AACA;EACE;EACA;EACA,OnBEM;EmBDN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,enBGY;EmBFZ;EACA;;AAEA;EACI,OnB/CG;EmBgDH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OnBzDK;EmB0DL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,enBxBY;EmByBZ;EACA;;AACA;EACE;EACA;EACA,OnB3EK;EmB4EL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,enBtEY;EmBuEZ;EACA;;AAEA;EACI,OnBhHK;EmBiHL;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OnB1HO;EmB2HP;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,enBjGY;EmBkGZ;EACA;;AACA;EACE;EACA;EACA,OnB5IO;EmB6IP;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","// Meshtastic Material 3 — Light color scheme for just-the-docs\n// Source: core/ui/.../Color.kt §8.2 (Light Scheme)\n//\n// Brand colors:\n// Primary (Light): #2D8F52 (Green 700)\n// Surface (Light): #F5F6FA (Neutral 50)\n\n$color-scheme: light;\n\n// Body / page background\n$body-background-color: #F5F6FA; // Neutral 50 — surfaceLight\n$sidebar-color: #ECEDF3; // Neutral 100 — surfaceContainerLight\n$body-text-color: #2C2D3C; // Neutral 800 — onSurfaceLight\n$body-heading-color: #2C2D3C; // Neutral 800\n\n// Links\n$link-color: #2D8F52; // Green 700 — primaryLight\n$nav-link-color: #2D8F52; // Green 700\n\n// Navigation\n$nav-child-link-color: #555668; // Neutral 600 — secondaryLight\n$search-result-preview-color: #555668;\n\n// Code\n$code-background-color: #ECEDF3; // Neutral 100\n$code-linenumber-color: #9496A6; // Neutral 400\n\n// Borders\n$border-color: #D5D6E0; // Neutral 200 — outlineVariantLight\n$table-background-color: #F5F6FA; // Neutral 50\n\n// Buttons\n$btn-primary-color: #2D8F52; // Green 700\n\n// Feedback / callouts\n$feedback-color: #E0E1EB; // surfaceContainerHighLight\n\n// Search\n$search-background-color: #FFFFFF; // surfaceContainerLowestLight\n","@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline: 2px solid $link-color;\n outline-offset: -2px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./color_schemes/meshtastic\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.tip, blockquote.tip {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.note, blockquote.note {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $yellow-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $yellow-000 solid;\n border-left: $border-radius solid $yellow-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $yellow-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-meshtastic.css"} \ No newline at end of file diff --git a/v2.8.0/assets/images/large-image.jpg b/v2.8.0/assets/images/large-image.jpg deleted file mode 100644 index c007781c27..0000000000 Binary files a/v2.8.0/assets/images/large-image.jpg and /dev/null differ diff --git a/v2.8.0/assets/images/small-image.jpg b/v2.8.0/assets/images/small-image.jpg deleted file mode 100644 index 5bf58a9493..0000000000 Binary files a/v2.8.0/assets/images/small-image.jpg and /dev/null differ diff --git a/v2.8.0/assets/js/just-the-docs.js b/v2.8.0/assets/js/just-the-docs.js deleted file mode 100644 index e2854a9e89..0000000000 --- a/v2.8.0/assets/js/just-the-docs.js +++ /dev/null @@ -1,584 +0,0 @@ -(function (jtd, undefined) { - -// Event handling - -jtd.addEvent = function(el, type, handler) { - if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler); -} -jtd.removeEvent = function(el, type, handler) { - if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler); -} -jtd.onReady = function(ready) { - // in case the document is already rendered - if (document.readyState!='loading') ready(); - // modern browsers - else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready); - // IE <= 8 - else document.attachEvent('onreadystatechange', function(){ - if (document.readyState=='complete') ready(); - }); -} - -// Show/hide mobile menu - -function initNav() { - jtd.addEvent(document, 'click', function(e){ - var target = e.target; - while (target && !(target.classList && target.classList.contains('nav-list-expander'))) { - target = target.parentNode; - } - if (target) { - e.preventDefault(); - target.ariaExpanded = target.parentNode.classList.toggle('active'); - } - }); - - const siteNav = document.getElementById('site-nav'); - const mainHeader = document.getElementById('main-header'); - const menuButton = document.getElementById('menu-button'); - - disableHeadStyleSheets(); - - jtd.addEvent(menuButton, 'click', function(e){ - e.preventDefault(); - - if (menuButton.classList.toggle('nav-open')) { - siteNav.classList.add('nav-open'); - mainHeader.classList.add('nav-open'); - menuButton.ariaExpanded = true; - } else { - siteNav.classList.remove('nav-open'); - mainHeader.classList.remove('nav-open'); - menuButton.ariaExpanded = false; - } - }); -} - -// The element is assumed to include the following stylesheets: -// - a to /assets/css/just-the-docs-head-nav.css, -// with id 'jtd-head-nav-stylesheet' -// - a Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Апісанне
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/be-rBY/user/android-auto.html b/v2.8.0/be-rBY/user/android-auto.html deleted file mode 100644 index 57d235f32a..0000000000 --- a/v2.8.0/be-rBY/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Абзор

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Паведамленні

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/be-rBY/user/app-functions.html b/v2.8.0/be-rBY/user/app-functions.html deleted file mode 100644 index bf0900c9d9..0000000000 --- a/v2.8.0/be-rBY/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/be-rBY/user/connections.html b/v2.8.0/be-rBY/user/connections.html deleted file mode 100644 index 979dd19e0d..0000000000 --- a/v2.8.0/be-rBY/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Апісанне
🟢 Злучаны Active radio link established
🟡 Злучаемся Handshake in progress
🔴 Адлучана No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/be-rBY/user/debug-logs.html b/v2.8.0/be-rBY/user/debug-logs.html deleted file mode 100644 index 2ae4b8d4de..0000000000 --- a/v2.8.0/be-rBY/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/be-rBY/user/desktop.html b/v2.8.0/be-rBY/user/desktop.html deleted file mode 100644 index ddc465075f..0000000000 --- a/v2.8.0/be-rBY/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Установка

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Налады ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/be-rBY/user/discovery.html b/v2.8.0/be-rBY/user/discovery.html deleted file mode 100644 index dd8ae0fb44..0000000000 --- a/v2.8.0/be-rBY/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Апісанне
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/be-rBY/user/firmware.html b/v2.8.0/be-rBY/user/firmware.html deleted file mode 100644 index 7812202717..0000000000 --- a/v2.8.0/be-rBY/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Канал Апісанне
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/be-rBY/user/help-and-docs.html b/v2.8.0/be-rBY/user/help-and-docs.html deleted file mode 100644 index b070bc09d1..0000000000 --- a/v2.8.0/be-rBY/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Поиск

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/be-rBY/user/map-and-waypoints.html b/v2.8.0/be-rBY/user/map-and-waypoints.html deleted file mode 100644 index 904c4f7abd..0000000000 --- a/v2.8.0/be-rBY/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Апісанне
Назва Short identifier (max 29 characters)
Апісанне Optional longer description
Icon Visual marker emoji on the map
Locked If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/be-rBY/user/messages-and-channels.html b/v2.8.0/be-rBY/user/messages-and-channels.html deleted file mode 100644 index f22cfb5203..0000000000 --- a/v2.8.0/be-rBY/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Каналы

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Апісанне
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Памылка Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Памылка Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Скончыўся час чакання No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Няма інтэрфейсу No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Няма канала The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Няправільны запыт Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Тып Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/be-rBY/user/mqtt.html b/v2.8.0/be-rBY/user/mqtt.html deleted file mode 100644 index a3c0b3ef43..0000000000 --- a/v2.8.0/be-rBY/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Абзор

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Конфигурация

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Апісанне Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Імя карыстальніка Broker authentication meshdev
Пароль Broker authentication large4cats
Root Topic Base topic for messages msh
Шифравание Encrypt MQTT payload Уключана
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Апісанне
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Апісанне Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/be-rBY/user/node-metrics.html b/v2.8.0/be-rBY/user/node-metrics.html deleted file mode 100644 index a357d9f1cd..0000000000 --- a/v2.8.0/be-rBY/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Апісанне
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Тэмпература BME280, BME680, SHT31
Вільготнасць BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Апісанне
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Зялёны
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Чырвоны
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Апісанне
сігнал-шум Signal-to-Noise Ratio (higher is better)
адносная магутнасць Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
Нічога more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Апісанне
Bus Voltage Supply voltage
3 Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Гісторыя месцазнаходжання

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/be-rBY/user/nodes.html b/v2.8.0/be-rBY/user/nodes.html deleted file mode 100644 index 0b9680fc40..0000000000 --- a/v2.8.0/be-rBY/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Апісанне
CLIENT Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
CLIENT MUTE Receives but doesn’t retransmit
CLIENT HIDDEN Like Client Mute, plus hides from node list
ROUTER Prioritizes message forwarding; stays awake to relay
ROUTER LATE Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
TRACKER Optimized for position reporting at regular intervals
SENSOR Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK TRACKER TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Фільтраваць Апісанне
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Апісанне
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Апошні раз пачуты Last heard
Адлегласць Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/be-rBY/user/onboarding.html b/v2.8.0/be-rBY/user/onboarding.html deleted file mode 100644 index 4d8ec960ba..0000000000 --- a/v2.8.0/be-rBY/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Начало работы | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Начало работы

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/be-rBY/user/settings-module-admin.html b/v2.8.0/be-rBY/user/settings-module-admin.html deleted file mode 100644 index e4df8cb15d..0000000000 --- a/v2.8.0/be-rBY/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Апісанне
Уключана Toggle MQTT bridge
Сервер MQTT broker address
Імя карыстальніка Authentication username
Пароль Authentication password
Шифравание Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Апісанне
Уключана Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Апісанне
Уключана Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Апісанне
Уключана Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Сервер Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Апісанне
Уключана Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Апісанне
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Апісанне
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Паведамленні Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Апісанне
Уключана Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Апісанне
Уключана Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Апісанне
Уключана Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Апісанне
LED State Turn the LED on or off
3 LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Апісанне
Уключана Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Апісанне
Уключана Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Перазагрузіць

Remotely reboot a connected or administered node.

Панэль адладкі

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/be-rBY/user/settings-radio-user.html b/v2.8.0/be-rBY/user/settings-radio-user.html deleted file mode 100644 index 4a06a7c8e6..0000000000 --- a/v2.8.0/be-rBY/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Апісанне
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Конфигурация

Device Config

Setting Апісанне Default
Role Node behavior (Client, Router, etc.) CLIENT
Rebroadcast Mode How the node retransmits messages Усе
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Апісанне Default
Рэгіён Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Хуткасць SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Апісанне
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Апісанне
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Апісанне
  Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Апісанне
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Апісанне
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Апісанне
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Прыватны ключ Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/be-rBY/user/signal-meter.html b/v2.8.0/be-rBY/user/signal-meter.html deleted file mode 100644 index 4603d4ef6a..0000000000 --- a/v2.8.0/be-rBY/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Нічога 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/be-rBY/user/tak.html b/v2.8.0/be-rBY/user/tak.html deleted file mode 100644 index 2b442993b6..0000000000 --- a/v2.8.0/be-rBY/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Абзор

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Конфигурация

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Апісанне
Уключана Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Апісанне
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Апісанне
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Функцианал
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/be-rBY/user/telemetry-and-sensors.html b/v2.8.0/be-rBY/user/telemetry-and-sensors.html deleted file mode 100644 index 699a690b9c..0000000000 --- a/v2.8.0/be-rBY/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Абзор

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Апісанне Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

SENSOR Тэмпература Вільготнасць Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

SENSOR Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

SENSOR Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Апісанне
Bus Voltage Supply rail voltage
3 Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Апісанне
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/be-rBY/user/translate.html b/v2.8.0/be-rBY/user/translate.html deleted file mode 100644 index 47722ee4b8..0000000000 --- a/v2.8.0/be-rBY/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/be-rBY/user/units-and-locale.html b/v2.8.0/be-rBY/user/units-and-locale.html deleted file mode 100644 index 204211e19b..0000000000 --- a/v2.8.0/be-rBY/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Тэмпература

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Хуткасць

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/be-rBY/user/widget.html b/v2.8.0/be-rBY/user/widget.html deleted file mode 100644 index 0d0c211970..0000000000 --- a/v2.8.0/be-rBY/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Беларуская
Meshtastic Docs ↗

🌐 Беларуская — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/bg-rBG/index.html b/v2.8.0/bg-rBG/index.html deleted file mode 100644 index 924a44b187..0000000000 --- a/v2.8.0/bg-rBG/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

Документация за приложението Meshtastic за Android

Документация за потребители и разработчици за приложенията Meshtastic за Android, настолни компютри и iOS, задвижвани от KMP (Kotlin Multiplatform).

Използвайте страничната лента за навигация, за да разгледате Ръководството за потребителя за функциите на приложението и Ръководството за разработчици за участие в проекта.


Бързи връзки

Ръководство Описание
Първи стъпки Свържете първото си радио и изпратете съобщение
Съобщения & Канали Channel broadcasts, direct messages, reactions, and encryption
Възли Understanding the mesh network node list
Измервател на сигнала Как работи измервателят на качеството на LoRa сигнала
Единици & Локация How temperatures, distances, and times adapt to your region
Настолно приложение Използване на настолни компютри на Linux, macOS и Windows
Архитектура App architecture overview for contributors
Допринасяне Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/bg-rBG/user/android-auto.html b/v2.8.0/bg-rBG/user/android-auto.html deleted file mode 100644 index 00936d8fb4..0000000000 --- a/v2.8.0/bg-rBG/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Общ преглед

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Съобщения

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Възли

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/bg-rBG/user/app-functions.html b/v2.8.0/bg-rBG/user/app-functions.html deleted file mode 100644 index 272b750609..0000000000 --- a/v2.8.0/bg-rBG/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/bg-rBG/user/connections.html b/v2.8.0/bg-rBG/user/connections.html deleted file mode 100644 index 84aa5c7343..0000000000 --- a/v2.8.0/bg-rBG/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Връзки | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Връзки

Meshtastic поддържа множество транспортни методи за за комуникация между вашия телефон/настолен компютър и радио възел.

Bluetooth (BLE)

Bluetooth Low Energy е методът за свързване по подразбиране и най-често срещаният в Android.

Сдвояване на устройство

  1. Уверете се, че вашето радио Meshtastic е включено и е в режим на сдвояване.
  2. Отворете приложението и отидете в раздела Свързване.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Изберете вашето устройство от списъка.
  5. Приемете подканата за Bluetooth сдвояване, ако се покаже.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Състояние на връзката

Икона Състояние Описание
🟢 Свързано Установена активна радиовръзка
🟡 Свързване Ръкостискането е в ход
🔴 Прекъсната връзка Няма активна връзка
⚪ Не е конфигурирано Няма избрано устройство

При свързване, индикатора за състояние показва текущото състояние на връзката:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Настройка

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/bg-rBG/user/debug-logs.html b/v2.8.0/bg-rBG/user/debug-logs.html deleted file mode 100644 index 7dde927a88..0000000000 --- a/v2.8.0/bg-rBG/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/bg-rBG/user/desktop.html b/v2.8.0/bg-rBG/user/desktop.html deleted file mode 100644 index 3074017a68..0000000000 --- a/v2.8.0/bg-rBG/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Настолно приложение | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Настолно приложение

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Инсталация

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Бележки
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Карта ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Настройки ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Актуализация на фърмуера ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Известия ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/bg-rBG/user/discovery.html b/v2.8.0/bg-rBG/user/discovery.html deleted file mode 100644 index 51e1a90cfa..0000000000 --- a/v2.8.0/bg-rBG/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Откриване | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Откриване

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Преди да започнете, конфигурирайте тези контроли:

Контрол Описание
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Метрични What it tells you
RF health Overall quality of the radio environment on that preset.
Използване на канала How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Трасиране на маршрут

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/bg-rBG/user/firmware.html b/v2.8.0/bg-rBG/user/firmware.html deleted file mode 100644 index 4445235e8d..0000000000 --- a/v2.8.0/bg-rBG/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Актуализации на фърмуера | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Актуализации на фърмуера

Поддържайте вашето Meshtastic радио актуално с най-новия фърмуер за нови функции, корекции на грешки и подобрения в сигурността.

Проверка за актуализации

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. Приложението проверява за налични версии на фърмуера.
  3. Available updates show the version number and changelog summary.

Методи за актуализиране

OTA (Over-The-Air) чрез Bluetooth

Най-често срещаният метод за актуализиране за потребителите на Android:

  1. Уверете се, че радиото ви е свързано чрез Bluetooth.
  2. Отидете до екрана за актуализация на фърмуера.
  3. Изберете желаната версия на фърмуера.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Канали на версиите

Канал Описание
Стабилен Препоръчва се за повечето потребители; тествани версии
Алфа Предварителни издания; може да съдържат грешки
Локален файл Flash a firmware file you select yourself, instead of a downloaded release

Контролен списък преди актуализация

Преди актуализиране:

  • Батерия > 50%
  • Стабилна Bluetooth връзка
  • Запишете текущите си настройки (те могат да се нулират при големи промени във версията)
  • Проверете бележките към изданието за важни промени

След актуализация

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • Радиото ще се рестартира автоматично
  • Bluetooth връзката ще се възстанови
  • Проверете дали настройките ви са непокътнати
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Актуализацията на фърмуера е успешна

Отстраняване на неизправности

Update Stuck

If the update appears frozen:

  • Изчакайте поне 5 минути, преди да се намесите
  • If truly stuck, power-cycle the radio
  • Опитайте актуализацията отново

Грешка при актуализация на фърмуера

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/bg-rBG/user/help-and-docs.html b/v2.8.0/bg-rBG/user/help-and-docs.html deleted file mode 100644 index 4b4118dd2e..0000000000 --- a/v2.8.0/bg-rBG/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Търсене

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/bg-rBG/user/map-and-waypoints.html b/v2.8.0/bg-rBG/user/map-and-waypoints.html deleted file mode 100644 index f9d064d55f..0000000000 --- a/v2.8.0/bg-rBG/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Вашата позиция — вашето текущо GPS местоположение

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Описание
Име Short identifier (max 29 characters)
Описание Optional longer description
Икона Visual marker emoji on the map
Заключен If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Слоеве на картата

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/bg-rBG/user/messages-and-channels.html b/v2.8.0/bg-rBG/user/messages-and-channels.html deleted file mode 100644 index 0ac1ee3f93..0000000000 --- a/v2.8.0/bg-rBG/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Съобщения & Канали | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Съобщения & Канали

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Канали

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Сигурност на канала

Channels support multiple encryption levels:

Икона Security Level Описание
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Директни съобщения

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

Състояние Значение
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Доставено до mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
  Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Грешка Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Грешка Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Няма интерфейс No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Няма канал The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Няма отговор Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Невалидна заявка Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Тип Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Най-добри практики

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/bg-rBG/user/mqtt.html b/v2.8.0/bg-rBG/user/mqtt.html deleted file mode 100644 index 743255d1c5..0000000000 --- a/v2.8.0/bg-rBG/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Преглед

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

Как работи

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Конфигурация

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Настройка Описание По подразбиране
Адрес на сървъра MQTT broker hostname mqtt.meshtastic.org
Потребителско име Broker authentication meshdev
Парола Broker authentication large4cats
Root Topic Base topic for messages msh
Криптиране Encrypt MQTT payload Активиран
JSON Output ⚠️ Отхвърлено — Поддръжката на JSON пакети е премахната от фърмуера; това поле се игнорира Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

За по-добра поверителност и контрол, можете да управлявате свой собствен MQTT брокер:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Описание
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Описание Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Най-добри практики

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Отстраняване на неизправности

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/bg-rBG/user/node-metrics.html b/v2.8.0/bg-rBG/user/node-metrics.html deleted file mode 100644 index 6110afc861..0000000000 --- a/v2.8.0/bg-rBG/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Метрики на устройството

Basic operating information reported by each node:

Метрични Описание
Battery Level Current battery percentage
Напрежение Battery voltage reading
Използване на канала Percentage of airtime consumed
Airtime Transmission time used by this node
Време на работа Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Показатели на околната среда

Environmental sensor data (requires compatible hardware):

Метрични Sensor Examples
Температура BME280, BME680, SHT31
Влажност BME280, BME680, SHT31
Барометрично налягане BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Метрични Unit Описание
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Цвят
Добър < 1000 Зелен
Stuffy < 2000 Amber
Poor < 5000 Оранжев
Unsafe < 30000 Червен
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Метрични Описание
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Добър SNR above the preset’s limit
Задоволителен less than 5.5 dB below the limit
Лош 5.5 dB to 7.5 dB below the limit
Няма more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Показатели на мощност

Power management telemetry (requires INA sensor or compatible hardware):

Метрични Описание
Bus Voltage Supply voltage
Текущ Power draw in milliamps
Захранване Calculated wattage

Трасиране на маршрут

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Журнал на позициите

Historical position data for nodes that share their location:

  • GPS coordinates
  • Надморска височина
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/bg-rBG/user/nodes.html b/v2.8.0/bg-rBG/user/nodes.html deleted file mode 100644 index f75cccba0b..0000000000 --- a/v2.8.0/bg-rBG/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Възли | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Възли

The Nodes screen displays all devices visible on your mesh network.

Списък с възли

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Роля Описание
Клиент Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Скрит клиент Like Client Mute, plus hides from node list
Рутер Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Тракер Optimized for position reporting at regular intervals
Сензор Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Премахване на възела

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Филтър Описание
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Описание
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Екранна снимка
Signal quality Signal
Ниво на батерията Battery
Hop count Hops
Последно чут Last heard
Разстояние Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/bg-rBG/user/onboarding.html b/v2.8.0/bg-rBG/user/onboarding.html deleted file mode 100644 index 6219a6cc16..0000000000 --- a/v2.8.0/bg-rBG/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Първи стъпки | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Първи стъпки

Добре дошли в Meshtastic! Това ръководство ви превежда през първоначалната настройка на приложението Meshtastic за Android.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/bg-rBG/user/settings-module-admin.html b/v2.8.0/bg-rBG/user/settings-module-admin.html deleted file mode 100644 index 4ec04e465a..0000000000 --- a/v2.8.0/bg-rBG/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Конфигурация на модулите

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Настройка Описание
Активиран Toggle MQTT bridge
Сървър MQTT broker address
Потребителско име Authentication username
Парола Authentication password
Криптиране Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Настройка Описание
Активиран Activate serial communication
Ехо Echo received serial data back
Режим Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Настройка Описание
Активиран Activate notifications
Предупредително съобщение Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Активно High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Настройка Описание
Активиран Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Записи Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Сървър Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Настройка Описание
Активиран Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Настройка Описание
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Качество на въздуха е активирано Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Настройка Описание
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Съобщения Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Настройка Описание
Активиран Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Настройка Описание
Активиран Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Настройка Описание
Активиран Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Настройка Описание
LED State Turn the LED on or off
Текущ LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Настройка Описание
Активиран Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Приятелско име Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Настройка Описание
Активиран Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Администриране

Отдалечено администриране

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Почистване на базата данни с възлите

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Рестартиране

Remotely reboot a connected or administered node.

Панел за отстраняване на грешки

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/bg-rBG/user/settings-radio-user.html b/v2.8.0/bg-rBG/user/settings-radio-user.html deleted file mode 100644 index b6a04b33d9..0000000000 --- a/v2.8.0/bg-rBG/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

Потребителски настройки

User Profile

Настройка Описание
Дълго име Your display name (up to 39 characters)
Кратко име 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Конфигурация

Конфигуриране на устройството

Настройка Описание По подразбиране
Роля Node behavior (Client, Router, etc.) Клиент
Режим на препредаване How the node retransmits messages Всички
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Конфигуриране на LoRa

Настройка Описание По подразбиране
Регион Regulatory region for frequency bands Unset (must configure)
Предварително настроен модем Speed/range tradeoff LongFast
Лимит на отскоци Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Отместване на честотата Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Диапазон Скорост SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Конфигуриране на дисплея

Настройка Описание
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
Тип OLED Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Конфигуриране на позицията

Настройка Описание
GPS Enabled Enable/disable GPS
Интервал на актуализиране на GPS How often to acquire GPS fix
Position Broadcast (s) How often to share position
Интелигентна позиция Enable movement-based broadcasting
Фиксирана позиция Use a manually set position

Конфигуриране на захранването

Настройка Описание
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Конфигуриране на мрежата

Настройка Описание
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Парола за мрежата
NTP сървър Time synchronization server
Syslog Server Remote logging server

IP address field

Конфигуриране на Bluetooth

Настройка Описание
Bluetooth Enabled Enable/disable BLE radio
Режим на сдвояване Fixed PIN, Random PIN, or No PIN
Фиксиран ПИН PIN code for pairing (default: 123456)

Конфигуриране на сигурността

Настройка Описание
Публичен ключ Your node’s public key (read-only)
Администраторски ключ Key for remote administration
Частен ключ Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Управляем режим Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Екранна снимка
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/bg-rBG/user/signal-meter.html b/v2.8.0/bg-rBG/user/signal-meter.html deleted file mode 100644 index 401095fbc7..0000000000 --- a/v2.8.0/bg-rBG/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Добър 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Задоволителен 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Лош 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Няма 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/bg-rBG/user/tak.html b/v2.8.0/bg-rBG/user/tak.html deleted file mode 100644 index e672835d61..0000000000 --- a/v2.8.0/bg-rBG/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Преглед

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Конфигурация

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Настройка Описание
Активиран Activate TAK interop
Режим TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Роля Описание
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Настройка Описание
Цвят на екипа Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Роля на члена Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Съвместимост Характеристики
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Отстраняване на неизправности

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/bg-rBG/user/telemetry-and-sensors.html b/v2.8.0/bg-rBG/user/telemetry-and-sensors.html deleted file mode 100644 index a8a9aafbd1..0000000000 --- a/v2.8.0/bg-rBG/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Телеметрия & Сензори | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Телеметрия & Сензори

Meshtastic nodes can collect and share sensor data across the mesh network.

Преглед

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Метрични Описание Типичен диапазон
Ниво на батерията Charge percentage 0–100%
Напрежение Напрежение на батерията 3.0–4.2V (LiPo)
Използване на канала % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Време на работа Seconds since last boot Varies

Сензори за околна среда

Поддържани сензори за околна среда:

Температура & Влажност

Сензор Температура Влажност Налягане Бележки
BME280 ✓ ✓ ✓ Препоръчително многофункционално устройство
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — Висока точност
MCP9808 ✓ — — Прецизна температура
LPS22 — — ✓ Само налягане

Качество на въздуха

Сензор Метрични Бележки
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Светлина & UV

Сензор Метрични
OPT3001 Околна светлина (lux)
VEML7700 Околна светлина (lux)
LTR390 UV индекс

Показатели на мощност

Nodes with INA-series power sensors can report:

Метрични Описание
Bus Voltage Supply rail voltage
Текущ Power consumption (mA)
Захранване Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Метеорологична станция 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Метрични Unit Описание
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Отстраняване на неизправности

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/bg-rBG/user/translate.html b/v2.8.0/bg-rBG/user/translate.html deleted file mode 100644 index 442a8fbfa2..0000000000 --- a/v2.8.0/bg-rBG/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Бележки
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


Как да допринесете

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Благодарим ви, че помогнахте за разширяването на обхвата на Meshtastic!


diff --git a/v2.8.0/bg-rBG/user/units-and-locale.html b/v2.8.0/bg-rBG/user/units-and-locale.html deleted file mode 100644 index 2f3fdd4768..0000000000 --- a/v2.8.0/bg-rBG/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


Как работи

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Температура

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Надморска височина
Метрични 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Скорост

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Метрични 12 km/h
Imperial (US) 7 mph

Вятър

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Метрични 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Метрични 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Радиация μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Настройка What It Controls Пример
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/bg-rBG/user/widget.html b/v2.8.0/bg-rBG/user/widget.html deleted file mode 100644 index 136705640f..0000000000 --- a/v2.8.0/bg-rBG/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Български
Meshtastic Docs ↗

🌐 Български — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/ca-rES/index.html b/v2.8.0/ca-rES/index.html deleted file mode 100644 index a498604943..0000000000 --- a/v2.8.0/ca-rES/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descripció
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/ca-rES/user/android-auto.html b/v2.8.0/ca-rES/user/android-auto.html deleted file mode 100644 index f72573459e..0000000000 --- a/v2.8.0/ca-rES/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/ca-rES/user/app-functions.html b/v2.8.0/ca-rES/user/app-functions.html deleted file mode 100644 index 9e8b17998e..0000000000 --- a/v2.8.0/ca-rES/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/ca-rES/user/connections.html b/v2.8.0/ca-rES/user/connections.html deleted file mode 100644 index fb9b5af445..0000000000 --- a/v2.8.0/ca-rES/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descripció
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Desconnectat No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/ca-rES/user/debug-logs.html b/v2.8.0/ca-rES/user/debug-logs.html deleted file mode 100644 index 84baf90f2c..0000000000 --- a/v2.8.0/ca-rES/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/ca-rES/user/desktop.html b/v2.8.0/ca-rES/user/desktop.html deleted file mode 100644 index e234f42783..0000000000 --- a/v2.8.0/ca-rES/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/ca-rES/user/discovery.html b/v2.8.0/ca-rES/user/discovery.html deleted file mode 100644 index 3ab9c15aaa..0000000000 --- a/v2.8.0/ca-rES/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descripció
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traçar ruta

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/ca-rES/user/firmware.html b/v2.8.0/ca-rES/user/firmware.html deleted file mode 100644 index 1f5ce9ae63..0000000000 --- a/v2.8.0/ca-rES/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canal Descripció
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/ca-rES/user/help-and-docs.html b/v2.8.0/ca-rES/user/help-and-docs.html deleted file mode 100644 index 07c4f56376..0000000000 --- a/v2.8.0/ca-rES/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/ca-rES/user/map-and-waypoints.html b/v2.8.0/ca-rES/user/map-and-waypoints.html deleted file mode 100644 index 6bf0a4d560..0000000000 --- a/v2.8.0/ca-rES/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descripció
Nom Short identifier (max 29 characters)
Descripció Optional longer description
Icon Visual marker emoji on the map
Bloquejat If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/ca-rES/user/messages-and-channels.html b/v2.8.0/ca-rES/user/messages-and-channels.html deleted file mode 100644 index 62a7fe9f12..0000000000 --- a/v2.8.0/ca-rES/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Descripció
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Error Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Error Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Temps esgotat No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Sense Interfície No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Sense canal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Sol·licitud errònia. Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/ca-rES/user/mqtt.html b/v2.8.0/ca-rES/user/mqtt.html deleted file mode 100644 index a686797715..0000000000 --- a/v2.8.0/ca-rES/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Descripció Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descripció
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descripció Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/ca-rES/user/node-metrics.html b/v2.8.0/ca-rES/user/node-metrics.html deleted file mode 100644 index 86d965f730..0000000000 --- a/v2.8.0/ca-rES/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Descripció
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Descripció
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Descripció
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Descripció
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traçar ruta

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/ca-rES/user/nodes.html b/v2.8.0/ca-rES/user/nodes.html deleted file mode 100644 index d738e8bea3..0000000000 --- a/v2.8.0/ca-rES/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Descripció
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtre Descripció
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descripció
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Última notícia Last heard
Distància Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/ca-rES/user/onboarding.html b/v2.8.0/ca-rES/user/onboarding.html deleted file mode 100644 index 862b8dc916..0000000000 --- a/v2.8.0/ca-rES/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/ca-rES/user/settings-module-admin.html b/v2.8.0/ca-rES/user/settings-module-admin.html deleted file mode 100644 index f1f328800b..0000000000 --- a/v2.8.0/ca-rES/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Descripció
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Descripció
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Descripció
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Descripció
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Descripció
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Descripció
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Descripció
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Descripció
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Descripció
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Descripció
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Descripció
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Descripció
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Descripció
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reiniciar

Remotely reboot a connected or administered node.

Panell de depuració

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ca-rES/user/settings-radio-user.html b/v2.8.0/ca-rES/user/settings-radio-user.html deleted file mode 100644 index 26be472316..0000000000 --- a/v2.8.0/ca-rES/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Descripció
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Descripció Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Descripció Default
Regió Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Descripció
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Descripció
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Descripció
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Descripció
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Descripció
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Descripció
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/ca-rES/user/signal-meter.html b/v2.8.0/ca-rES/user/signal-meter.html deleted file mode 100644 index 9b3afc96b8..0000000000 --- a/v2.8.0/ca-rES/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/ca-rES/user/tak.html b/v2.8.0/ca-rES/user/tak.html deleted file mode 100644 index 9f894c21b4..0000000000 --- a/v2.8.0/ca-rES/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Descripció
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Descripció
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Descripció
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/ca-rES/user/telemetry-and-sensors.html b/v2.8.0/ca-rES/user/telemetry-and-sensors.html deleted file mode 100644 index d253a7c394..0000000000 --- a/v2.8.0/ca-rES/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Descripció Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperature Humidity Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Descripció
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Descripció
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/ca-rES/user/translate.html b/v2.8.0/ca-rES/user/translate.html deleted file mode 100644 index ea2c7f0e41..0000000000 --- a/v2.8.0/ca-rES/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/ca-rES/user/units-and-locale.html b/v2.8.0/ca-rES/user/units-and-locale.html deleted file mode 100644 index e6f98078c6..0000000000 --- a/v2.8.0/ca-rES/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/ca-rES/user/widget.html b/v2.8.0/ca-rES/user/widget.html deleted file mode 100644 index d3b1728a06..0000000000 --- a/v2.8.0/ca-rES/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Català
Meshtastic Docs ↗

🌐 Català — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/cs-rCZ/index.html b/v2.8.0/cs-rCZ/index.html deleted file mode 100644 index 215bfe27aa..0000000000 --- a/v2.8.0/cs-rCZ/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Popis
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/cs-rCZ/user/android-auto.html b/v2.8.0/cs-rCZ/user/android-auto.html deleted file mode 100644 index 65d6a67f1a..0000000000 --- a/v2.8.0/cs-rCZ/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Zprávy

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Uzly

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/cs-rCZ/user/app-functions.html b/v2.8.0/cs-rCZ/user/app-functions.html deleted file mode 100644 index 890b50e418..0000000000 --- a/v2.8.0/cs-rCZ/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/cs-rCZ/user/connections.html b/v2.8.0/cs-rCZ/user/connections.html deleted file mode 100644 index 65461789e6..0000000000 --- a/v2.8.0/cs-rCZ/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Připojení | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Připojení

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Popis
🟢 Připojeno Active radio link established
🟡 Připojování Handshake in progress
🔴 Odpojeno No active connection
⚪ Not configured Není vybráno žádné zařízení

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/cs-rCZ/user/debug-logs.html b/v2.8.0/cs-rCZ/user/debug-logs.html deleted file mode 100644 index 585a21fea9..0000000000 --- a/v2.8.0/cs-rCZ/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/cs-rCZ/user/desktop.html b/v2.8.0/cs-rCZ/user/desktop.html deleted file mode 100644 index 5d7538c683..0000000000 --- a/v2.8.0/cs-rCZ/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Poznámka
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mapa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Nastavení ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Aktualizace firmware ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Požadavky:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/cs-rCZ/user/discovery.html b/v2.8.0/cs-rCZ/user/discovery.html deleted file mode 100644 index dc12f59303..0000000000 --- a/v2.8.0/cs-rCZ/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Objevujte | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Objevujte

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Popis
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metrický What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informace o sousedech

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/cs-rCZ/user/firmware.html b/v2.8.0/cs-rCZ/user/firmware.html deleted file mode 100644 index 4fff5a372b..0000000000 --- a/v2.8.0/cs-rCZ/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanál Popis
Stabilní Recommended for most users; tested releases
Alfa Preview releases; may contain bugs
Lokální soubor Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/cs-rCZ/user/help-and-docs.html b/v2.8.0/cs-rCZ/user/help-and-docs.html deleted file mode 100644 index 8bb665d9dc..0000000000 --- a/v2.8.0/cs-rCZ/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/cs-rCZ/user/map-and-waypoints.html b/v2.8.0/cs-rCZ/user/map-and-waypoints.html deleted file mode 100644 index 9447e74f00..0000000000 --- a/v2.8.0/cs-rCZ/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Popis
Jméno Short identifier (max 29 characters)
Popis Optional longer description
Icon Visual marker emoji on the map
Uzamknout If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Mapové vrstvy

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/cs-rCZ/user/messages-and-channels.html b/v2.8.0/cs-rCZ/user/messages-and-channels.html deleted file mode 100644 index 84127b88c3..0000000000 --- a/v2.8.0/cs-rCZ/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanály

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Zabezpečení kanálu

Channels support multiple encryption levels:

Icon Security Level Popis
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Doručeno do mesh sítě For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Chyba Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Chyba Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Vypršel čas spojení No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Žádné rozhraní No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Žádný kanál The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Žádná odpověď Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Špatný požadavek Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Typ Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/cs-rCZ/user/mqtt.html b/v2.8.0/cs-rCZ/user/mqtt.html deleted file mode 100644 index 85cdc9ae27..0000000000 --- a/v2.8.0/cs-rCZ/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Nastavení

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Nastavení Popis Výchozí
Adresa serveru MQTT broker hostname mqtt.meshtastic.org
Uživatelské jméno Broker authentication meshdev
Heslo Broker authentication large4cats
Kořenové téma Base topic for messages msh
Encryption Encrypt MQTT payload Povoleno
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Popis
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Popis Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/cs-rCZ/user/node-metrics.html b/v2.8.0/cs-rCZ/user/node-metrics.html deleted file mode 100644 index 3bfa2e089d..0000000000 --- a/v2.8.0/cs-rCZ/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Metriky zařízení

Basic operating information reported by each node:

Metrický Popis
Battery Level Current battery percentage
Napětí Battery voltage reading
Využití kanálu Percentage of airtime consumed
Airtime Transmission time used by this node
Doba provozu Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Metriky prostředí

Environmental sensor data (requires compatible hardware):

Metrický Sensor Examples
Teplota BME280, BME680, SHT31
Vlhkost BME280, BME680, SHT31
Barometrický tlak BME280, BMP280
Odpor plynu BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metrický Unit Popis
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Silný < 1000 Zelená
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Červená
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metrický Popis
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Silný SNR above the preset’s limit
Slabý less than 5.5 dB below the limit
Špatný 5.5 dB to 7.5 dB below the limit
Žádný more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Metriky napájení

Power management telemetry (requires INA sensor or compatible hardware):

Metrický Popis
Bus Voltage Supply voltage
Proud Power draw in milliamps
Napájení Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Protokol pozic

Historical position data for nodes that share their location:

  • GPS coordinates
  • Nadm. výška
  • Speed (if moving)
  • Timestamp for each position report

Informace o sousedech

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/cs-rCZ/user/nodes.html b/v2.8.0/cs-rCZ/user/nodes.html deleted file mode 100644 index 7333d3ca9b..0000000000 --- a/v2.8.0/cs-rCZ/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Uzly | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Uzly

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Popis
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Senzor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtr Popis
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Popis
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Naposledy slyšen Last heard
Vzdálenost Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/cs-rCZ/user/onboarding.html b/v2.8.0/cs-rCZ/user/onboarding.html deleted file mode 100644 index 6b26890bd4..0000000000 --- a/v2.8.0/cs-rCZ/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/cs-rCZ/user/settings-module-admin.html b/v2.8.0/cs-rCZ/user/settings-module-admin.html deleted file mode 100644 index 47a4afb02e..0000000000 --- a/v2.8.0/cs-rCZ/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Nastavení Popis
Povoleno Toggle MQTT bridge
Server MQTT broker address
Uživatelské jméno Authentication username
Heslo Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Kořenové téma Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Nastavení Popis
Povoleno Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Nastavení Popis
Povoleno Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Nastavení Popis
Povoleno Activate store and forward
Pulzující LED Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Nastavení Popis
Povoleno Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Nastavení Popis
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Nastavení Popis
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Zprávy Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Nastavení Popis
Povoleno Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Nastavení Popis
Povoleno Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Nastavení Popis
Povoleno Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Nastavení Popis
LED State Turn the LED on or off
Proud LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Nastavení Popis
Povoleno Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Nastavení Popis
Povoleno Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administrace

Vzdálená administrace

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Vyčistit databázi uzlů

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Restartovat

Remotely reboot a connected or administered node.

Panel pro ladění

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/cs-rCZ/user/settings-radio-user.html b/v2.8.0/cs-rCZ/user/settings-radio-user.html deleted file mode 100644 index 242b3563d6..0000000000 --- a/v2.8.0/cs-rCZ/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Nastavení Popis
Dlouhé jméno Your display name (up to 39 characters)
Krátké jméno 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Nastavení

Nastavení zařízení

Nastavení Popis Výchozí
Role Node behavior (Client, Router, etc.) Client
Režim opětovného vysílání How the node retransmits messages Vše
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa nastavení

Nastavení Popis Výchozí
Region Regulatory region for frequency bands Unset (must configure)
Předvolba modemu Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Rychlost SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Nastavení zobrazení

Nastavení Popis
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Nastavení pozice

Nastavení Popis
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Chytrá poloha Enable movement-based broadcasting
Pevná poloha Use a manually set position

Nastavení napájení

Nastavení Popis
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Nastavení sítě

Nastavení Popis
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Nastavení bluetooth

Nastavení Popis
Bluetooth Enabled Enable/disable BLE radio
Režim párování Fixed PIN, Random PIN, or No PIN
Pevný PIN PIN code for pairing (default: 123456)

Nastavení zabezpečení

Nastavení Popis
Veřejný klíč Your node’s public key (read-only)
Administrátorský klíč Key for remote administration
Soukromý klíč Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Řízený režim Restrict non-admin channel changes
Záloha klíčů Save an encrypted backup of the node’s keys on this device (Android only)
Obnovit klíče Write the backed-up keys back to the node (available once a backup exists)
Smazat zálohu klíče Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/cs-rCZ/user/signal-meter.html b/v2.8.0/cs-rCZ/user/signal-meter.html deleted file mode 100644 index 2cb61f4f8b..0000000000 --- a/v2.8.0/cs-rCZ/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Silný 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Slabý 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Špatný 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Žádný 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/cs-rCZ/user/tak.html b/v2.8.0/cs-rCZ/user/tak.html deleted file mode 100644 index eeb9c45348..0000000000 --- a/v2.8.0/cs-rCZ/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Nastavení

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Nastavení Popis
Povoleno Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Popis
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Nastavení Popis
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/cs-rCZ/user/telemetry-and-sensors.html b/v2.8.0/cs-rCZ/user/telemetry-and-sensors.html deleted file mode 100644 index 1f3173ecbe..0000000000 --- a/v2.8.0/cs-rCZ/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metrický Popis Typical Range
Battery Level Charge percentage 0–100%
Napětí Battery voltage 3.0–4.2V (LiPo)
Využití kanálu % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Doba provozu Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Senzor Teplota Vlhkost Tlak Poznámka
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Senzor Metrický Poznámka
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Senzor Metrický
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Metriky napájení

Nodes with INA-series power sensors can report:

Metrický Popis
Bus Voltage Supply rail voltage
Proud Power consumption (mA)
Napájení Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metrický Unit Popis
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/cs-rCZ/user/translate.html b/v2.8.0/cs-rCZ/user/translate.html deleted file mode 100644 index ca0a0cff8e..0000000000 --- a/v2.8.0/cs-rCZ/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Poznámka
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


Jak přispět

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Děkujeme, že jste pomohli rozšířit dosah Meshtastic!


diff --git a/v2.8.0/cs-rCZ/user/units-and-locale.html b/v2.8.0/cs-rCZ/user/units-and-locale.html deleted file mode 100644 index f7657f9196..0000000000 --- a/v2.8.0/cs-rCZ/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Teplota

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Nadm. výška
Metrický 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Rychlost

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metrický 12 km/h
Imperial (US) 7 mph

Vítr

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metrický 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metrický 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometrický tlak hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiace μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Nastavení What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/cs-rCZ/user/widget.html b/v2.8.0/cs-rCZ/user/widget.html deleted file mode 100644 index 170090c182..0000000000 --- a/v2.8.0/cs-rCZ/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Čeština
Meshtastic Docs ↗

🌐 Čeština — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/de-rDE/index.html b/v2.8.0/de-rDE/index.html deleted file mode 100644 index 1ae6682cc3..0000000000 --- a/v2.8.0/de-rDE/index.html +++ /dev/null @@ -1 +0,0 @@ - Startseite | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Anleitung Beschreibung
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/de-rDE/user/android-auto.html b/v2.8.0/de-rDE/user/android-auto.html deleted file mode 100644 index dbc04b69ed..0000000000 --- a/v2.8.0/de-rDE/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Übersicht

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Nachrichten

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Knoten

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/de-rDE/user/app-functions.html b/v2.8.0/de-rDE/user/app-functions.html deleted file mode 100644 index 259bf46777..0000000000 --- a/v2.8.0/de-rDE/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. Wenn diese aktiviert sind, kann ein Assistent Mesh-Workflows für Sie finden und auslösen – zum Beispiel das Senden einer Nachricht oder das Überprüfen Ihres Mesh-Status –, ohne dass Sie die App öffnen müssen.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

Die Funktionen sind in einen Schreib-Bereich (Funktionen, die etwas ändern oder Daten an Ihr Mesh senden) und einen Lese-Bereich (Funktionen, die lediglich Informationen zurückgeben) unterteilt.

App Functions screen with master and per-function toggles

Write Functions

Funktion What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Funktion What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Datenschutz

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/de-rDE/user/connections.html b/v2.8.0/de-rDE/user/connections.html deleted file mode 100644 index 7505cf45cb..0000000000 --- a/v2.8.0/de-rDE/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Verbindungen | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Verbindungen

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Symbol Status Beschreibung
🟢 Verbunden Active radio link established
🟡 Wird verbunden Handshake in progress
🔴 Verbindung getrennt No active connection
⚪ Not configured Kein Gerät ausgewählt

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Einstellungen

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/de-rDE/user/debug-logs.html b/v2.8.0/de-rDE/user/debug-logs.html deleted file mode 100644 index ece4126fd5..0000000000 --- a/v2.8.0/de-rDE/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Fehlersuchprotokolle | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Fehlersuchprotokolle

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Möchtest du ein Problem melden? Exportiere deine Logs (siehe unten) und hänge die .txt-Datei an deinen Bericht unter github.com/meshtastic/Meshtastic-Android/issues an. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. Sie wählen den Speicherort über die Dateiauswahl des Systems aus, und die Datei wird mit einem Zeitstempel versehen (zum Beispiel meshtastic_logcat_20260701_143312.txt), sodass sich wiederholte Exporte nicht gegenseitig überschreiben.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/de-rDE/user/desktop.html b/v2.8.0/de-rDE/user/desktop.html deleted file mode 100644 index 5bf779e21d..0000000000 --- a/v2.8.0/de-rDE/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Funktion Android Desktop Knoten
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Karte ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Einstellungen ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Aktualisierung ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Benachrichtigungen ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Tastaturkürzel

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Tastaturkürzel Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Einstellungen öffnen
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Voraussetzungen:

  • JDK 21
  • No Android SDK required for desktop-only builds

Bekannte Einschränkungen

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/de-rDE/user/discovery.html b/v2.8.0/de-rDE/user/discovery.html deleted file mode 100644 index fa6ce5763e..0000000000 --- a/v2.8.0/de-rDE/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Entdecken | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Entdecken

Discovery-Tools helfen Ihnen zu verstehen, wie Ihr Mesh-Netzwerk vernetzt ist – welche Knoten einander erreichen können, welche Wege Nachrichten nehmen und wo Engpässe oder Schwachstellen bestehen.

The app offers two complementary approaches:

  • Lokale Netzwerk Erkennung (Scanner) – ein automatischer Modus, der das angeschlossene Funkmodul nacheinander auf verschiedene LoRa Voreinstellungen umschaltet, auf jeder dieser Einstellungen lauscht und bewertet, welche davon an Ihrem Standort die beste Leistung erbringt.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. Es schaltet das angeschlossene Funkgerät nacheinander auf eine oder mehrere von Ihnen gewählte Voreinstellungen, verweilt jeweils für eine festgelegte Zeit auf dem Kanal, um Datenpakete zu erfassen, und analysiert sowie bewertet anschließend die Ergebnisse.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Beschreibung
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Phase What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metrisch What it tells you
RF health Overall quality of the radio environment on that preset.
Kanalauslastung How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Nachbarinformation

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/de-rDE/user/firmware.html b/v2.8.0/de-rDE/user/firmware.html deleted file mode 100644 index 817f8eb594..0000000000 --- a/v2.8.0/de-rDE/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmwareaktualisierungen | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Firmwareaktualisierungen

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Beschreibung
Stabil Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Lokale Datei Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Fehlerbehebung

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/de-rDE/user/help-and-docs.html b/v2.8.0/de-rDE/user/help-and-docs.html deleted file mode 100644 index 5f02c32021..0000000000 --- a/v2.8.0/de-rDE/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Suchen

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/de-rDE/user/map-and-waypoints.html b/v2.8.0/de-rDE/user/map-and-waypoints.html deleted file mode 100644 index 1ac7c4fb29..0000000000 --- a/v2.8.0/de-rDE/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. Der Chip ist in der individuellen Identitätsfarbe des Knotens gehalten (einer festen Farbe, die sich aus der Knotennummer ableitet) – es handelt sich um denselben Chip wie in der Knotenliste, sodass ein Knoten überall gleich aussieht. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Kartensteuerung

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Beschreibung
Name Short identifier (max 29 characters)
Beschreibung Optional longer description
Symbol Visual marker emoji on the map
Gesperrt If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Kartenebenen

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/de-rDE/user/messages-and-channels.html b/v2.8.0/de-rDE/user/messages-and-channels.html deleted file mode 100644 index 13493439e3..0000000000 --- a/v2.8.0/de-rDE/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanäle

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Kanalsicherheit

Channels support multiple encryption levels:

Symbol Security Level Beschreibung
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direktnachrichten

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

Status Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Versand ins Netz For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routen über den SF++ Weg. Being routed/buffered by the Store & Forward Plus Plus chain
Bestätigt auf dem SF++ Weg. Confirmed delivered via the SF++ chain
Fehler Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Fehler Meaning What to Do
Keine Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Zeitlimit erreicht No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Keine Schnittstelle No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Kein Kanal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Keine Antwort Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Ungültige Anfrage Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Jeder Quick-Chat-Eintrag besteht aus einem kurzen Namen (der Schaltflächenbeschriftung), der einzufügenden Nachricht und einer Option zum Sofortigen Senden: Ist diese aktiviert, wird die Nachricht beim Tippen auf die Schaltfläche sofort versendet, anstatt zur Bearbeitung in das Eingabefeld eingefügt zu werden.

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Typ Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Bewährte Praktiken

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/de-rDE/user/mqtt.html b/v2.8.0/de-rDE/user/mqtt.html deleted file mode 100644 index 88649ab215..0000000000 --- a/v2.8.0/de-rDE/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Übersicht

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

So funktioniert’s

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Einstellungen

MQTT aktivieren

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Einstellung Beschreibung Standardwert
Serveradresse MQTT broker hostname mqtt.meshtastic.org
Benutzername Broker authentication meshdev
Passwort Broker authentication large4cats
Hauptthema Base topic for messages msh
Verschlüsselung Encrypt MQTT payload Aktiviert
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Deaktiviert
TLS Secure connection to broker Deaktiviert
Map Reporting Report position to public map Deaktiviert

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Beschreibung
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Beschreibung Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Bewährte Praktiken

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Fehlerbehebung

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/de-rDE/user/node-metrics.html b/v2.8.0/de-rDE/user/node-metrics.html deleted file mode 100644 index 96b1411564..0000000000 --- a/v2.8.0/de-rDE/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Gerätedaten

Basic operating information reported by each node:

Metrisch Beschreibung
Batterie Ladung Current battery percentage
Spannung Battery voltage reading
Kanalbelegung Percentage of airtime consumed
Airtime Transmission time used by this node
Laufzeit Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Umweltdaten

Environmental sensor data (requires compatible hardware):

Metrisch Sensor Examples
Temperatur BME280, BME680, SHT31
Luftfeuchtigkeit BME280, BME680, SHT31
Luftdruck BME280, BMP280
Gaswiderstand BME680
IAQ (Air Quality) BME680

Umgebungsmesswerte werden zur einfachen Trendanalyse im Zeitverlauf dargestellt – Temperatur, Luftfeuchtigkeit und Luftdruck erhalten jeweils ein eigenes Liniendiagramm, wobei die Maßeinheit auf der Y-Achse angezeigt wird.

Der IAQ-Index (Indoor Air Quality / Raumluftqualität) des BME680 ist ein einzelner Wert im Bereich von 0 bis über 500, der aus dem Gaswiderstand abgeleitet und auf einer farbcodierten Skala von Ausgezeichnet bis Gefährlich belastet dargestellt wird:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. Dies ist unabhängig vom BME680-IAQ-Messwert, der unter „Environment Metrics“ (Umgebungsmesswerte) aufgeführt ist – IAQ ist ein einzelner, aus dem Gaswiderstand abgeleiteter Index, während die Luftqualitätsansicht die zugrundeliegenden Messwerte für Feinstaub und CO₂ grafisch darstellt.

Metrisch Einheit Beschreibung
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Farbe
Gut < 1000 Grün
Stuffy < 2000 Gelb
Schlecht < 5000 Orange
Unsafe < 30000 Rot
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signaldaten

Radio signal quality information:

Metrisch Beschreibung
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Sprungweite Number of mesh hops for last message

Signal Quality Reference

Die Signalqualität wird auf der Grundlage des Signal-Rauschabstand im Verhältnis zur Demodulationsschwelle der aktiven LoRa-Modem-Voreinstellung bewertet, nicht anhand fester Schwellenwerte – ein bestimmter Wert des Signal-Rauschabstand hat je nach Voreinstellung unterschiedliche Bedeutungen (z. B. sind −15 dB bei „LongSlow“ in Ordnung, bei „ShortFast“ jedoch unbrauchbar). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Gut SNR above the preset’s limit
Ordentliche Signalstärke less than 5.5 dB below the limit
Schlecht 5.5 dB to 7.5 dB below the limit
Keins more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Verwenden Sie Anfordern, um beim verbundenen Funkgerät einen aktuellen Telemetriebericht zu den lokalen Statistiken (Local Stats) abzurufen, Löschen, um die Protokolle der lokalen Statistiken für diesen Knoten zu löschen, und Speichern, um den sichtbaren Verlauf der lokalen Statistiken als CSV-Datei zu exportieren.

Energiedaten

Power management telemetry (requires INA sensor or compatible hardware):

Metrisch Beschreibung
Bus Voltage Supply voltage
Stromstärke Power draw in milliamps
Leistung Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Standortprotokoll

Historical position data for nodes that share their location:

  • GPS coordinates
  • Höhe
  • Speed (if moving)
  • Timestamp for each position report

Nachbarinformation

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/de-rDE/user/nodes.html b/v2.8.0/de-rDE/user/nodes.html deleted file mode 100644 index 15c5cba1ec..0000000000 --- a/v2.8.0/de-rDE/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Knoten | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Knoten

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Abzeichen Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Rolle Beschreibung
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client - Versteckt Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router mit Verzögerung Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Behandelt Datenverkehr von/zu Ihren bevorzugten Knoten mit der Priorität „Router Late“ (wodurch sichergestellt wird, dass diese Nachrichten eine zusätzliche Relaisabdeckung erhalten), während der übrige Verkehr wie bei einem normalen Client gehandhabt wird.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Symbol Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Knoten entfernen

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Beschreibung
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sortieren Beschreibung
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Bildschirmfoto
Signal quality Signal
Akkustand Battery
Hop count Hops
Zuletzt gehört Last heard
Distanz Distance

Sobald die Hardware eines Knotens erkannt wird, zeigt die Detailansicht einen ausklappbaren Bereich mit der Bezeichnung „Ich möchte eins“ an. Dieser enthält Links zu Bezugsquellen oder weiterführenden Informationen zu dem jeweiligen Gerät – etwa zur Produktseite des Herstellers, zu Produktvarianten sowie zu Angeboten auf regionalen Marktplätzen (wie AliExpress, Amazon und unterstützten Händlern), gefiltert nach Ihrem Land. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/de-rDE/user/onboarding.html b/v2.8.0/de-rDE/user/onboarding.html deleted file mode 100644 index 4b6a18aa43..0000000000 --- a/v2.8.0/de-rDE/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Erste Schritte | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Erste Schritte

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? Die Anleitung für den Einstieg auf meshtastic.org behandelt die Hardware-Auswahl, die anfängliche Funkkonfiguration und die Einrichtung deines ersten Mesh-Netzwerks.



diff --git a/v2.8.0/de-rDE/user/settings-module-admin.html b/v2.8.0/de-rDE/user/settings-module-admin.html deleted file mode 100644 index 7bc1215522..0000000000 --- a/v2.8.0/de-rDE/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Moduleinstellungen

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Einstellung Beschreibung
Aktiviert Toggle MQTT bridge
Server MQTT broker address
Benutzername Authentication username
Passwort Authentication password
Verschlüsselung Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Hauptthema Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Einstellung Beschreibung
Aktiviert Activate serial communication
Echo Echo received serial data back
Betriebsmodus Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baudrate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Einstellung Beschreibung
Aktiviert Activate notifications
Warnmeldung Notify on incoming messages
Summer bei Warnmeldung Use buzzer for messages
Alert Message Vibra Use vibration for messages
Warnglocke Notify on bell character
Output (GPIO) Pin for notification output
Aktiv High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Einstellung Beschreibung
Aktiviert Activate store and forward
Puls Periodically announce this node’s store-and-forward capability
Datensätze Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Einstellung Beschreibung
Aktiviert Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Einstellung Beschreibung
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Luftqualität aktiviert Report particulate sensor data
Energiedaten aktiviert Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Einstellung Beschreibung
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Nachrichten Newline-separated list of messages
Sende Glocke Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Einstellung Beschreibung
Aktiviert Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Wortauswahl GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Einstellung Beschreibung
Aktiviert Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Einstellung Beschreibung
Aktiviert Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Übertragen über LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Einstellung Beschreibung
LED Status Turn the LED on or off
Stromstärke LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Einstellung Beschreibung
Aktiviert Activate detection sensor
GPIO Pin überwachen GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Sende Glocke Include bell character in alerts
Anzeigename Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Einstellung Beschreibung
Aktiviert Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Einstellung

Ferneinstellung

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Knotendatenbank leeren

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Werkseinstellungen

Resets all settings to factory defaults. This cannot be undone.

Neustart

Remotely reboot a connected or administered node.

Debug-Ausgaben

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/de-rDE/user/settings-radio-user.html b/v2.8.0/de-rDE/user/settings-radio-user.html deleted file mode 100644 index b00a5d9d13..0000000000 --- a/v2.8.0/de-rDE/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

Benutzereinstellungen

User Profile

Einstellung Beschreibung
Langer Name Your display name (up to 39 characters)
Kurzname 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Einstellungen

Geräteeinstellungen

Einstellung Beschreibung Standardwert
Rolle Node behavior (Client, Router, etc.) Client
Weiterleitungsmodus How the node retransmits messages Alle
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Deaktiviert

LoRa Einstellungen

Einstellung Beschreibung Standardwert
Region Regulatory region for frequency bands Unset (must configure)
Modem Voreinstellungen Speed/range tradeoff LongFast
Sprungweite Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequenzversatz Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Bereich Geschwindigkeit SNR Limit Best For
SHORT_TURBO ~1 km 21.9 kbps −7,5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
MEDIUM_FAST ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
MEDIUM_SLOW ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0,34 kbit/s −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0,18 kbit/s −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • Einhaltung der EU-Vorschriften für 866/868 MHz: Verwenden Sie Lite Fast, Lite Slow, Narrow Fast oder Narrow Slow – diese sind für die EU-SRD-/868-MHz-Bänder mit geringerer Bandbreite optimiert.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Anzeigeeinstellungen

Einstellung Beschreibung
Anzeigeabschaltung Time before display sleeps
Anzeigeeinheiten Metric or Imperial
OLED Typ Auto, SSD1306, SH1106, SH1107
Kompassausrichtung Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Standorteinstellungen

Einstellung Beschreibung
GPS Enabled Enable/disable GPS
GPS Aktualisierungsintervall How often to acquire GPS fix
Position Broadcast (s) How often to share position
Intelligente Position Enable movement-based broadcasting
Fester Standort Use a manually set position

Energie Einstellungen

Einstellung Beschreibung
Energiesparen Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Netzwerkeinstellungen

Einstellung Beschreibung
WLAN aktiviert Enable WiFi radio (ESP32 devices)
WLAN SSID Network name to connect to
WLAN PSK Netzwerkpasswort
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Einstellungen

Einstellung Beschreibung
Bluetooth Enabled Enable/disable BLE radio
Kopplungsmodus Fixed PIN, Random PIN, or No PIN
Feste PIN PIN code for pairing (default: 123456)

Sicherheitseinstellungen

Einstellung Beschreibung
Öffentlicher Schlüssel Your node’s public key (read-only)
Administrativer Schlüssel Key for remote administration
Privater Schlüssel Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Fehlersuchprotokolle (Debug) Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Verwalteter Modus Restrict non-admin channel changes
Schlüssel sichern Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Bildschirmfoto
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/de-rDE/user/signal-meter.html b/v2.8.0/de-rDE/user/signal-meter.html deleted file mode 100644 index d2eb29d08b..0000000000 --- a/v2.8.0/de-rDE/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

How the Meshtastic Signal Meter Works

Die Meshtastic-Signalanzeige – die vertrauten Balken oder die Statusfarbe in der App – wird ganz anders berechnet als die „Balken“ bei einem herkömmlichen Mobiltelefon oder WLAN-Router.

Most consumer devices simply measure how “loud” a signal is. Da Meshtastic jedoch die LoRa Technologie (Long Range) verwendet, misst die Signalanzeige, wie klar das Signal ist – und zwar im Verhältnis zu den spezifischen Einstellungen, die in Ihrem Mesh-Netzwerk genutzt werden.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

Wenn dich ein Freund auf einem ohrenbetäubend lauten Rockkonzert anschreit, ist das Signal zwar extrem stark (hoher RSSI), aber du kannst ihn trotzdem nicht verstehen, weil die Hintergrundgeräusche lauter sind (schlechter Signal-Rauschabstand). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. Es nutzt die „Spread-Spectrum“-Modulation, die es dem Funkgerät ermöglicht, ein Signal mathematisch aus der Luft zu extrahieren, selbst wenn es tief unterhalb des Hintergrundrauschens liegt. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Je nachdem, welche Meshtastic Voreinstellung Sie verwenden (z. B. LongFast vs. ShortFast), weist das Funkgerät einen spezifischen Signal-Rauschabstand Grenzwert auf – das absolute Maximum an Rauschen, das es tolerieren kann, bevor die Nachricht im Rauschen vollständig verloren geht.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. Der RSSI Wert wird bei der Bewertung bewusst nicht berücksichtigt: Ohne Kenntnis des lokalen Grundrauschens lässt sich anhand des RSSI nicht feststellen, ob ein Signal tatsächlich dekodierbar ist; daher ist das Verhältnis des Signal-Rauschabstandes zum festgelegten Grenzwert die aussagekräftige Messgröße. (RSSI is still displayed to you elsewhere.)

Da die Bewertung relativ zum voreingestellten Grenzwert erfolgt, kann derselbe Signal-Rauschabstand je nach Voreinstellung unterschiedlich bewertet werden: -15 dB gelten bei LongSlow als guter Wert, sind jedoch bei ShortFast unbrauchbar. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Niveau Balken Criteria Meaning
Gut 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Ordentliche Signalstärke 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Schlecht 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Keins 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Hinweis: Die festen Schwellenwerte des Signal-Rauschabstandes, die Sie möglicherweise an anderer Stelle gesehen haben (-7 dB / -15 dB), werden mittlerweile nur noch zur farblichen Kennzeichnung einzelner Sprünge in Traceroute Ergebnissen verwendet – nicht für die hier beschriebene Signalstärkeanzeige pro Knoten.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. Das bedeutet, dass lokale Störquellen vorliegen – etwa ein billiges Netzteil, ein störender Computer oder ein nahegelegener Funkturm –, die so starkes Rauschen erzeugen, dass sie Ihr Netzwerk überlagern.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/de-rDE/user/tak.html b/v2.8.0/de-rDE/user/tak.html deleted file mode 100644 index 75a30967b0..0000000000 --- a/v2.8.0/de-rDE/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

TAK Integration

Meshtastic lässt sich in das Team Awareness Kit (TAK)-Ökosystem integrieren und ermöglicht so die Interoperabilität zwischen Meshtastic Geräten und TAK-Anwendungen wie ATAK und WinTAK.

Übersicht

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Einstellungen

Voraussetzungen

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Einstellungen

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Einstellung Beschreibung
Aktiviert Activate TAK interop
Betriebsmodus TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Rolle Beschreibung
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Einstellung Beschreibung
Teamfarbe Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Mitgliedsrolle Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Kompatibilität Merkmale
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Fehlerbehebung

Problem Ursache Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/de-rDE/user/telemetry-and-sensors.html b/v2.8.0/de-rDE/user/telemetry-and-sensors.html deleted file mode 100644 index f57a3d8605..0000000000 --- a/v2.8.0/de-rDE/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Übersicht

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Gerätetelemetrie

All Meshtastic nodes report basic device telemetry:

Metrisch Beschreibung Typical Range
Batterie Ladung Charge percentage 0–100%
Spannung Battery voltage 3.0–4.2V (LiPo)
Kanalbelegung % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Laufzeit Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatur Luftfeuchtigkeit Druck Knoten
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metrisch Knoten
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metrisch
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Energiedaten

Nodes with INA-series power sensors can report:

Metrisch Beschreibung
Bus Voltage Supply rail voltage
Stromstärke Power consumption (mA)
Leistung Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metrisch Einheit Beschreibung
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Fehlerbehebung

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/de-rDE/user/translate.html b/v2.8.0/de-rDE/user/translate.html deleted file mode 100644 index e1960710c6..0000000000 --- a/v2.8.0/de-rDE/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Knoten
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


Wie man beitragen kann

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← Englisch (Standard)
-│   └── strings.xml
-├── values-de/           ← Deutsch
-│   └── strings.xml
-├── values-fr/           ← Französisch
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← Englisch  (Standard)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← Französisch (Frankreich)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← Deustch (Deutschland)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Vielen Dank, dass Sie dabei geholfen haben, die Reichweite von Meshtastic zu vergrößern!


diff --git a/v2.8.0/de-rDE/user/units-and-locale.html b/v2.8.0/de-rDE/user/units-and-locale.html deleted file mode 100644 index 9f56bea338..0000000000 --- a/v2.8.0/de-rDE/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Units, Measurement & Locale

Die Meshtastic-App zeigt Temperaturen, Entfernungen, Geschwindigkeiten und Zeiten automatisch in den Einheiten an, auf die Ihr Gerät konfiguriert ist – es sind keine Einstellungen innerhalb der App zu ändern.


So funktioniert’s

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatur

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Höhe
Metrisch 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Geschwindigkeit

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metrisch 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metrisch 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metrisch 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Einheit Warum
Luftdruck hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Strahlung μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Einstellung What It Controls Beispiel
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

Die App verwendet zudem relative Zeitangaben, wo dies sinnvoll ist – zum Beispiel „vor 5 Min.“ oder „vor 2 Stunden“ in der Knotenliste –, die automatisch in die Sprache Ihres Geräts lokalisiert werden.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/de-rDE/user/widget.html b/v2.8.0/de-rDE/user/widget.html deleted file mode 100644 index 02d89166fd..0000000000 --- a/v2.8.0/de-rDE/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Deutsch
Meshtastic Docs ↗

🌐 Deutsch — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/docs/ar-rSA/user/android-auto.html b/v2.8.0/docs/ar-rSA/user/android-auto.html deleted file mode 100644 index cfb019c381..0000000000 --- a/v2.8.0/docs/ar-rSA/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## الرسائل
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/app-functions.html b/v2.8.0/docs/ar-rSA/user/app-functions.html deleted file mode 100644 index b78c19cd1c..0000000000 --- a/v2.8.0/docs/ar-rSA/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/connections.html b/v2.8.0/docs/ar-rSA/user/connections.html deleted file mode 100644 index 001350d81f..0000000000 --- a/v2.8.0/docs/ar-rSA/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | الوصف                         |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | انقطع الاتصال  | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/debug-logs.html b/v2.8.0/docs/ar-rSA/user/debug-logs.html deleted file mode 100644 index 69287748d0..0000000000 --- a/v2.8.0/docs/ar-rSA/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/desktop.html b/v2.8.0/docs/ar-rSA/user/desktop.html deleted file mode 100644 index 6928a1bcc7..0000000000 --- a/v2.8.0/docs/ar-rSA/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- الخريطة                                      | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- الإعدادات                                    | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/discovery.html b/v2.8.0/docs/ar-rSA/user/discovery.html deleted file mode 100644 index b52619e583..0000000000 --- a/v2.8.0/docs/ar-rSA/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/firmware.html b/v2.8.0/docs/ar-rSA/user/firmware.html deleted file mode 100644 index 6e57a367e4..0000000000 --- a/v2.8.0/docs/ar-rSA/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- عربي       | الوصف                                                                      |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/help-and-docs.html b/v2.8.0/docs/ar-rSA/user/help-and-docs.html deleted file mode 100644 index 3faca4ded8..0000000000 --- a/v2.8.0/docs/ar-rSA/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/map-and-waypoints.html b/v2.8.0/docs/ar-rSA/user/map-and-waypoints.html deleted file mode 100644 index dca40fba2e..0000000000 --- a/v2.8.0/docs/ar-rSA/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | الوصف                                                   |
- ---------- | ------------------------------------------------------- |
- الاسم      | Short identifier (max 29 characters) |
- الوصف      | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- مقفل       | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/messages-and-channels.html b/v2.8.0/docs/ar-rSA/user/messages-and-channels.html deleted file mode 100644 index 2a8f4594a6..0000000000 --- a/v2.8.0/docs/ar-rSA/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## القنوات
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | الوصف                                                                                                                                  |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- غلط                                 | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- غلط              | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- استغرق وقت طويل  | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- لم يجد وسيط      | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- لا يوجد قناه     | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- طلب غير جيد      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/mqtt.html b/v2.8.0/docs/ar-rSA/user/mqtt.html deleted file mode 100644 index 6c98560b36..0000000000 --- a/v2.8.0/docs/ar-rSA/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | الوصف                                                                                         | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | الوصف                            |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | الوصف                               | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/node-metrics.html b/v2.8.0/docs/ar-rSA/user/node-metrics.html deleted file mode 100644 index da942368a6..0000000000 --- a/v2.8.0/docs/ar-rSA/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric         | الوصف                               |
- -------------- | ----------------------------------- |
- Battery Level  | Current battery percentage          |
- شدة التيار     | Battery voltage reading             |
- استخدام القناة | Percentage of airtime consumed      |
- Airtime        | Transmission time used by this node |
- Uptime         | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- الحرارة                              | BME280, BME680, SHT31 |
- الرطوبة                              | BME280, BME680, SHT31 |
- الضغط الجوي                          | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | الوصف                                                                                                                                                                                                                      |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- جيد      | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric             | الوصف                                                                          |
- ------------------ | ------------------------------------------------------------------------------ |
- SNR                | Signal-to-Noise Ratio (higher is better)                    |
- مؤشر القوة النسبية | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor        | Local background RF noise in dBm (more negative is quieter) |
- Hop Count          | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- جيد     | SNR above the preset's limit                                     |
- مناسب   | less than 5.5 dB below the limit                 |
- سيئ     | 5.5 dB to 7.5 dB below the limit |
- لا يوجد | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | الوصف                   |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- الحالي      | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## سجل الموقع
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/nodes.html b/v2.8.0/docs/ar-rSA/user/nodes.html deleted file mode 100644 index db1b003fc7..0000000000 --- a/v2.8.0/docs/ar-rSA/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | الوصف                                                                                                                                                  |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- عربي                       | الوصف                                                                                |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | الوصف                                                              |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- آخر ظهور       | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- المسافة        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/onboarding.html b/v2.8.0/docs/ar-rSA/user/onboarding.html deleted file mode 100644 index d3c20dfb31..0000000000 --- a/v2.8.0/docs/ar-rSA/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/settings-module-admin.html b/v2.8.0/docs/ar-rSA/user/settings-module-admin.html deleted file mode 100644 index 438a43ab20..0000000000 --- a/v2.8.0/docs/ar-rSA/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | الوصف                                                                    |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | الوصف                           |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | الوصف                       |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | الوصف                                                                                                                                            |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | الوصف                             |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | الوصف                                   |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | الوصف                                                       |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- الرسائل            | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | الوصف                            |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | الوصف                                                           |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | الوصف                                                                                                                                |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | الوصف                                                      |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- الحالي             | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | الوصف                                                                                                                                   |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | الوصف                      |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## الإدارة
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### إعادة التشغيل
-
-Remotely reboot a connected or administered node.
-
-### Debug Panel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/settings-radio-user.html b/v2.8.0/docs/ar-rSA/user/settings-radio-user.html deleted file mode 100644 index 804a631a13..0000000000 --- a/v2.8.0/docs/ar-rSA/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | الوصف                                                                                 |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | الوصف                                                                   | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | الوصف                                                                   | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- الجهة             | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | الوصف                                                                                |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | الوصف                              |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | الوصف                                   |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | الوصف                                                |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | الوصف                                                                     |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | الوصف                                                                                                                                                                                                          |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/signal-meter.html b/v2.8.0/docs/ar-rSA/user/signal-meter.html deleted file mode 100644 index b4dcfa073d..0000000000 --- a/v2.8.0/docs/ar-rSA/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
----- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- جيد     | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- مناسب   | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- سيئ     | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- لا يوجد | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/tak.html b/v2.8.0/docs/ar-rSA/user/tak.html deleted file mode 100644 index 831bc13710..0000000000 --- a/v2.8.0/docs/ar-rSA/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | الوصف                      |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | الوصف                                                                                                                                                                                                                                                                               |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | الوصف                                                                                                            |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/telemetry-and-sensors.html b/v2.8.0/docs/ar-rSA/user/telemetry-and-sensors.html deleted file mode 100644 index 8a923759ae..0000000000 --- a/v2.8.0/docs/ar-rSA/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | الوصف                          | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- شدة التيار         | Battery voltage                | 3.0–4.2V (LiPo) |
- استخدام القناة     | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Uptime             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | الحرارة | الرطوبة | Pressure | Notes                   |
- ------- | ------- | ------- | -------- | ----------------------- |
- BME280  | ✓       | ✓       | ✓        | Recommended all-in-one  |
- BME680  | ✓       | ✓       | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓       | ✓       | —        | High accuracy           |
- MCP9808 | ✓       | —       | —        | Precision temperature   |
- LPS22   | —       | —       | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | الوصف                                     |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- الحالي      | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | الوصف                        |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/translate.html b/v2.8.0/docs/ar-rSA/user/translate.html deleted file mode 100644 index 052201d798..0000000000 --- a/v2.8.0/docs/ar-rSA/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/units-and-locale.html b/v2.8.0/docs/ar-rSA/user/units-and-locale.html deleted file mode 100644 index 66afdad10f..0000000000 --- a/v2.8.0/docs/ar-rSA/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## الحرارة
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ar-rSA/user/widget.html b/v2.8.0/docs/ar-rSA/user/widget.html deleted file mode 100644 index 48ef06b10f..0000000000 --- a/v2.8.0/docs/ar-rSA/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/android-auto.html b/v2.8.0/docs/be-rBY/user/android-auto.html deleted file mode 100644 index 4f7e489baa..0000000000 --- a/v2.8.0/docs/be-rBY/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Абзор
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Паведамленні
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/app-functions.html b/v2.8.0/docs/be-rBY/user/app-functions.html deleted file mode 100644 index d5a05a650d..0000000000 --- a/v2.8.0/docs/be-rBY/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/connections.html b/v2.8.0/docs/be-rBY/user/connections.html deleted file mode 100644 index 5b302f9e0c..0000000000 --- a/v2.8.0/docs/be-rBY/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Апісанне                      |
- ---- | -------------- | ----------------------------- |
- 🟢   | Злучаны        | Active radio link established |
- 🟡   | Злучаемся      | Handshake in progress         |
- 🔴   | Адлучана       | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/debug-logs.html b/v2.8.0/docs/be-rBY/user/debug-logs.html deleted file mode 100644 index 5944b1bb6a..0000000000 --- a/v2.8.0/docs/be-rBY/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/desktop.html b/v2.8.0/docs/be-rBY/user/desktop.html deleted file mode 100644 index 40ac4b84d7..0000000000 --- a/v2.8.0/docs/be-rBY/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Установка
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Налады                                       | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/discovery.html b/v2.8.0/docs/be-rBY/user/discovery.html deleted file mode 100644 index 1cff41ed94..0000000000 --- a/v2.8.0/docs/be-rBY/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/firmware.html b/v2.8.0/docs/be-rBY/user/firmware.html deleted file mode 100644 index edc9e615d9..0000000000 --- a/v2.8.0/docs/be-rBY/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Канал      | Апісанне                                                                   |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/help-and-docs.html b/v2.8.0/docs/be-rBY/user/help-and-docs.html deleted file mode 100644 index 348ef8d084..0000000000 --- a/v2.8.0/docs/be-rBY/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Поиск
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/map-and-waypoints.html b/v2.8.0/docs/be-rBY/user/map-and-waypoints.html deleted file mode 100644 index a1adad34dc..0000000000 --- a/v2.8.0/docs/be-rBY/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Апісанне                                                |
- ---------- | ------------------------------------------------------- |
- Назва      | Short identifier (max 29 characters) |
- Апісанне   | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Locked     | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/messages-and-channels.html b/v2.8.0/docs/be-rBY/user/messages-and-channels.html deleted file mode 100644 index 7a55e91459..0000000000 --- a/v2.8.0/docs/be-rBY/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Каналы
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Апісанне                                                                                                                               |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Памылка                             | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Памылка               | Meaning                                  | What to Do                                                                                                                                                                  |
- --------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route              | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK               | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Скончыўся час чакання | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Няма інтэрфейсу       | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit        | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Няма канала           | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large             | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response           | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit      | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Няправільны запыт     | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Тып           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/mqtt.html b/v2.8.0/docs/be-rBY/user/mqtt.html deleted file mode 100644 index 904743989d..0000000000 --- a/v2.8.0/docs/be-rBY/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Абзор
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Конфигурация
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting           | Апісанне                                                                                      | Default                                             |
- ----------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address    | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Імя карыстальніка | Broker authentication                                                                         | meshdev                                             |
- Пароль            | Broker authentication                                                                         | large4cats                                          |
- Root Topic        | Base topic for messages                                                                       | msh                                                 |
- Шифравание        | Encrypt MQTT payload                                                                          | Уключана                                            |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS               | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting     | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Апісанне                         |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Апісанне                            | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/node-metrics.html b/v2.8.0/docs/be-rBY/user/node-metrics.html deleted file mode 100644 index 6b348392f5..0000000000 --- a/v2.8.0/docs/be-rBY/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Апісанне                            |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Тэмпература                          | BME280, BME680, SHT31 |
- Вільготнасць                         | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Апісанне                                                                                                                                                                                                                   |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Зялёны   |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Чырвоны  |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric              | Апісанне                                                                       |
- ------------------- | ------------------------------------------------------------------------------ |
- сігнал-шум          | Signal-to-Noise Ratio (higher is better)                    |
- адносная магутнасць | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor         | Local background RF noise in dBm (more negative is quieter) |
- Hop Count           | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- Нічога  | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Апісанне                |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- 3           | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Гісторыя месцазнаходжання
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/nodes.html b/v2.8.0/docs/be-rBY/user/nodes.html deleted file mode 100644 index de998f0fe1..0000000000 --- a/v2.8.0/docs/be-rBY/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Апісанне                                                                                                                                               |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- CLIENT                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- CLIENT MUTE                      | Receives but doesn't retransmit                                                                                                                        |
- CLIENT HIDDEN                    | Like Client Mute, plus hides from node list                                                                                                            |
- ROUTER                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- ROUTER LATE                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- TRACKER                          | Optimized for position reporting at regular intervals                                                                                                  |
- SENSOR                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK TRACKER                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Фільтраваць                | Апісанне                                                                             |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Апісанне                                                           |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator         | Screenshot                                                    |
- ----------------- | ------------------------------------------------------------- |
- Signal quality    | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level     | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count         | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Апошні раз пачуты | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Адлегласць        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/onboarding.html b/v2.8.0/docs/be-rBY/user/onboarding.html deleted file mode 100644 index d2ddd1e11c..0000000000 --- a/v2.8.0/docs/be-rBY/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Начало работы - - - -
# Начало работы
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/settings-module-admin.html b/v2.8.0/docs/be-rBY/user/settings-module-admin.html deleted file mode 100644 index d59919f5e2..0000000000 --- a/v2.8.0/docs/be-rBY/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting           | Апісанне                                                                 |
- ----------------- | ------------------------------------------------------------------------ |
- Уключана          | Toggle MQTT bridge                                                       |
- Сервер            | MQTT broker address                                                      |
- Імя карыстальніка | Authentication username                                                  |
- Пароль            | Authentication password                                                  |
- Шифравание        | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS               | Use secure connection                                                    |
- Root Topic        | Base MQTT topic path                                                     |
- Map Report        | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Апісанне                        |
- ---------- | ------------------------------- |
- Уключана   | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Апісанне                    |
- -------------------------------- | --------------------------- |
- Уключана                         | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Апісанне                                                                                                                                         |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Уключана                                   | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Сервер                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Апісанне                          |
- -------------------------------------- | --------------------------------- |
- Уключана                               | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Апісанне                                |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Апісанне                                                    |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Паведамленні       | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Апісанне                         |
- --------------- | -------------------------------- |
- Уключана        | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Апісанне                                                        |
- -------------------- | --------------------------------------------------------------- |
- Уключана             | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Апісанне                                                                                                                             |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Уключана                               | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Апісанне                                                   |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- 3                  | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Апісанне                                                                                                                                |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Уключана                                 | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Апісанне                   |
- -------------------------------------- | -------------------------- |
- Уключана                               | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Перазагрузіць
-
-Remotely reboot a connected or administered node.
-
-### Панэль адладкі
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/settings-radio-user.html b/v2.8.0/docs/be-rBY/user/settings-radio-user.html deleted file mode 100644 index 3cfa879828..0000000000 --- a/v2.8.0/docs/be-rBY/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Апісанне                                                                              |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Конфигурация
-
-### Device Config
-
- Setting                                    | Апісанне                                                                | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | CLIENT   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | Усе      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Апісанне                                                                | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Рэгіён            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Хуткасць                  | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Апісанне                                                                             |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Апісанне                           |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Апісанне                                |
- --------------------------------------- | --------------------------------------- |
-                                         | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Апісанне                                             |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Апісанне                                                                  |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Апісанне                                                                                                                                                                                                       |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Прыватны ключ             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/signal-meter.html b/v2.8.0/docs/be-rBY/user/signal-meter.html deleted file mode 100644 index 8148af8155..0000000000 --- a/v2.8.0/docs/be-rBY/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
---- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good   | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair   | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad    | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Нічога | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/tak.html b/v2.8.0/docs/be-rBY/user/tak.html deleted file mode 100644 index 4705d60e58..0000000000 --- a/v2.8.0/docs/be-rBY/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Абзор
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Конфигурация
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting  | Апісанне                   |
- -------- | -------------------------- |
- Уключана | Activate TAK interop       |
- Mode     | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Апісанне                                                                                                                                                                                                                                                                            |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Апісанне                                                                                                         |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Функцианал                                                                                                                                                                                                         |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/telemetry-and-sensors.html b/v2.8.0/docs/be-rBY/user/telemetry-and-sensors.html deleted file mode 100644 index c78525c034..0000000000 --- a/v2.8.0/docs/be-rBY/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Абзор
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Апісанне                       | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- SENSOR  | Тэмпература | Вільготнасць | Pressure | Notes                   |
- ------- | ----------- | ------------ | -------- | ----------------------- |
- BME280  | ✓           | ✓            | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓            | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓            | —        | High accuracy           |
- MCP9808 | ✓           | —            | —        | Precision temperature   |
- LPS22   | —           | —            | ✓        | Pressure only           |
-
-### Air Quality
-
- SENSOR   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- SENSOR   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Апісанне                                  |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- 3           | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Апісанне                     |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/translate.html b/v2.8.0/docs/be-rBY/user/translate.html deleted file mode 100644 index d49c2b0f5a..0000000000 --- a/v2.8.0/docs/be-rBY/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/units-and-locale.html b/v2.8.0/docs/be-rBY/user/units-and-locale.html deleted file mode 100644 index 0396b925e6..0000000000 --- a/v2.8.0/docs/be-rBY/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Тэмпература
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Хуткасць
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/be-rBY/user/widget.html b/v2.8.0/docs/be-rBY/user/widget.html deleted file mode 100644 index c2be0e08a7..0000000000 --- a/v2.8.0/docs/be-rBY/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/android-auto.html b/v2.8.0/docs/bg-rBG/user/android-auto.html deleted file mode 100644 index 232d294a66..0000000000 --- a/v2.8.0/docs/bg-rBG/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Общ преглед
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Съобщения
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Възли
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/app-functions.html b/v2.8.0/docs/bg-rBG/user/app-functions.html deleted file mode 100644 index 8147ee2bbb..0000000000 --- a/v2.8.0/docs/bg-rBG/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/connections.html b/v2.8.0/docs/bg-rBG/user/connections.html deleted file mode 100644 index e69bbb0205..0000000000 --- a/v2.8.0/docs/bg-rBG/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Връзки - - - -
# Връзки
-
-Meshtastic поддържа множество транспортни методи за за комуникация между вашия телефон/настолен компютър и радио възел.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy е методът за свързване по подразбиране и най-често срещаният в Android.
-
-### Сдвояване на устройство
-
-1. Уверете се, че вашето радио Meshtastic е включено и е в режим на сдвояване.
-2. Отворете приложението и отидете в раздела **Свързване**.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Изберете вашето устройство от списъка.
-5. Приемете подканата за Bluetooth сдвояване, ако се покаже.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Състояние на връзката
-
- Икона | Състояние          | Описание                       |
- ----- | ------------------ | ------------------------------ |
- 🟢    | Свързано           | Установена активна радиовръзка |
- 🟡    | Свързване          | Ръкостискането е в ход         |
- 🔴    | Прекъсната връзка  | Няма активна връзка            |
- ⚪     | Не е конфигурирано | Няма избрано устройство        |
-
-При свързване, индикатора за състояние показва текущото състояние на връзката:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Настройка
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/debug-logs.html b/v2.8.0/docs/bg-rBG/user/debug-logs.html deleted file mode 100644 index 701bb7eec0..0000000000 --- a/v2.8.0/docs/bg-rBG/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/desktop.html b/v2.8.0/docs/bg-rBG/user/desktop.html deleted file mode 100644 index ca78644fd8..0000000000 --- a/v2.8.0/docs/bg-rBG/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Настолно приложение - - - -
# Настолно приложение
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Инсталация
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Бележки                                                                                   |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Карта                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Настройки                                    | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Актуализация на фърмуера                     | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Известия                                     | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/discovery.html b/v2.8.0/docs/bg-rBG/user/discovery.html deleted file mode 100644 index 825c52d058..0000000000 --- a/v2.8.0/docs/bg-rBG/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Откриване - - - -
# Откриване
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Метрични                                 | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Използване на канала                     | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Трасиране на маршрут
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/firmware.html b/v2.8.0/docs/bg-rBG/user/firmware.html deleted file mode 100644 index b4da2e495b..0000000000 --- a/v2.8.0/docs/bg-rBG/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Актуализации на фърмуера - - - -
# Актуализации на фърмуера
-
-Поддържайте вашето Meshtastic радио актуално с най-новия фърмуер за нови функции, корекции на грешки и подобрения в сигурността.
-
-## Проверка за актуализации
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. Приложението проверява за налични версии на фърмуера.
-3. Available updates show the version number and changelog summary.
-
-## Методи за актуализиране
-
-### OTA (Over-The-Air) чрез Bluetooth
-
-Най-често срещаният метод за актуализиране за потребителите на Android:
-
-1. Уверете се, че радиото ви е свързано чрез Bluetooth.
-2. Отидете до екрана за актуализация на фърмуера.
-3. Изберете желаната версия на фърмуера.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Канали на версиите
-
- Канал        | Описание                                                                   |
- ------------ | -------------------------------------------------------------------------- |
- Стабилен     | Препоръчва се за повечето потребители; тествани версии                     |
- Алфа         | Предварителни издания; може да съдържат грешки                             |
- Локален файл | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Контролен списък преди актуализация
-
-Преди актуализиране:
-
-- [ ] Батерия > 50%
-- [ ] Стабилна Bluetooth връзка
-- [ ] Запишете текущите си настройки (те могат да се нулират при големи промени във версията)
-- [ ] Проверете бележките към изданието за важни промени
-
-## След актуализация
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- Радиото ще се рестартира автоматично
-- Bluetooth връзката ще се възстанови
-- Проверете дали настройките ви са непокътнати
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Актуализацията на фърмуера е успешна](../../assets/screenshots/firmware_success.png)
-
-## Отстраняване на неизправности
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Изчакайте поне 5 минути, преди да се намесите
-- If truly stuck, power-cycle the radio
-- Опитайте актуализацията отново
-
-![Грешка при актуализация на фърмуера](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/help-and-docs.html b/v2.8.0/docs/bg-rBG/user/help-and-docs.html deleted file mode 100644 index 46c263a1f4..0000000000 --- a/v2.8.0/docs/bg-rBG/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Търсене
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/map-and-waypoints.html b/v2.8.0/docs/bg-rBG/user/map-and-waypoints.html deleted file mode 100644 index 480f689323..0000000000 --- a/v2.8.0/docs/bg-rBG/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Вашата позиция** — вашето текущо GPS местоположение
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Описание                                                |
- ---------- | ------------------------------------------------------- |
- Име        | Short identifier (max 29 characters) |
- Описание   | Optional longer description                             |
- Икона      | Visual marker emoji on the map                          |
- Заключен   | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Слоеве на картата
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/messages-and-channels.html b/v2.8.0/docs/bg-rBG/user/messages-and-channels.html deleted file mode 100644 index 2fe9b0eccf..0000000000 --- a/v2.8.0/docs/bg-rBG/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Съобщения & Канали - - - -
# Съобщения & Канали
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Канали
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Сигурност на канала
-
-Channels support multiple encryption levels:
-
- Икона | Security Level                       | Описание                                                                                                                               |
- ----- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒    | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐    | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓    | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️    | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Директни съобщения
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- Състояние                           | Значение                                                                                                                             |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Доставено до mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
-                                     | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Грешка                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Грешка           | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Няма интерфейс   | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Няма канал       | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Няма отговор     | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Невалидна заявка | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Тип           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Най-добри практики
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/mqtt.html b/v2.8.0/docs/bg-rBG/user/mqtt.html deleted file mode 100644 index d04148ae20..0000000000 --- a/v2.8.0/docs/bg-rBG/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Преглед
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## Как работи
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Конфигурация
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Настройка         | Описание                                                                                       | По подразбиране                                     |
- ----------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Адрес на сървъра  | MQTT broker hostname                                                                           | mqtt.meshtastic.org |
- Потребителско име | Broker authentication                                                                          | meshdev                                             |
- Парола            | Broker authentication                                                                          | large4cats                                          |
- Root Topic        | Base topic for messages                                                                        | msh                                                 |
- Криптиране        | Encrypt MQTT payload                                                                           | Активиран                                           |
- ~~JSON Output~~   | ⚠️ **Отхвърлено** — Поддръжката на JSON пакети е премахната от фърмуера; това поле се игнорира | Disabled                                            |
- TLS               | Secure connection to broker                                                                    | Disabled                                            |
- Map Reporting     | Report position to public map                                                                  | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-За по-добра поверителност и контрол, можете да управлявате свой собствен MQTT брокер:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Описание                         |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Описание                            | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Най-добри практики
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Отстраняване на неизправности
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/node-metrics.html b/v2.8.0/docs/bg-rBG/user/node-metrics.html deleted file mode 100644 index af9652f380..0000000000 --- a/v2.8.0/docs/bg-rBG/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Метрики на устройството
-
-Basic operating information reported by each node:
-
- Метрични             | Описание                            |
- -------------------- | ----------------------------------- |
- Battery Level        | Current battery percentage          |
- Напрежение           | Battery voltage reading             |
- Използване на канала | Percentage of airtime consumed      |
- Airtime              | Transmission time used by this node |
- Време на работа      | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Показатели на околната среда
-
-Environmental sensor data (requires compatible hardware):
-
- Метрични                             | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Температура                          | BME280, BME680, SHT31 |
- Влажност                             | BME280, BME680, SHT31 |
- Барометрично налягане                | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Метрични              | Unit      | Описание                                                                                                                                                                                                                   |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Цвят     |
- -------- | ---------------------------------- | -------- |
- Добър    | < 1000    | Зелен    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Оранжев  |
- Unsafe   | < 30000   | Червен   |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Метрични    | Описание                                                                       |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality       | Criteria                                                         |
- ------------- | ---------------------------------------------------------------- |
- Добър         | SNR above the preset's limit                                     |
- Задоволителен | less than 5.5 dB below the limit                 |
- Лош           | 5.5 dB to 7.5 dB below the limit |
- Няма          | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Показатели на мощност
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Метрични    | Описание                |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Текущ       | Power draw in milliamps |
- Захранване  | Calculated wattage      |
-
-## Трасиране на маршрут
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Журнал на позициите
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Надморска височина
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/nodes.html b/v2.8.0/docs/bg-rBG/user/nodes.html deleted file mode 100644 index a7f63d33e4..0000000000 --- a/v2.8.0/docs/bg-rBG/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Възли - - - -
# Възли
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Списък с възли
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Роля                             | Описание                                                                                                                                               |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Клиент                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Скрит клиент                     | Like Client Mute, plus hides from node list                                                                                                            |
- Рутер                            | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Тракер                           | Optimized for position reporting at regular intervals                                                                                                  |
- Сензор                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Премахване на възела
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Филтър                     | Описание                                                                             |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Описание                                                           |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator         | Екранна снимка                                                |
- ----------------- | ------------------------------------------------------------- |
- Signal quality    | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Ниво на батерията | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count         | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Последно чут      | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Разстояние        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/onboarding.html b/v2.8.0/docs/bg-rBG/user/onboarding.html deleted file mode 100644 index b0d3b12657..0000000000 --- a/v2.8.0/docs/bg-rBG/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Първи стъпки - - - -
# Първи стъпки
-
-Добре дошли в Meshtastic! Това ръководство ви превежда през първоначалната настройка на приложението Meshtastic за Android.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/settings-module-admin.html b/v2.8.0/docs/bg-rBG/user/settings-module-admin.html deleted file mode 100644 index 5b8b621bbf..0000000000 --- a/v2.8.0/docs/bg-rBG/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Конфигурация на модулите
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Настройка         | Описание                                                                 |
- ----------------- | ------------------------------------------------------------------------ |
- Активиран         | Toggle MQTT bridge                                                       |
- Сървър            | MQTT broker address                                                      |
- Потребителско име | Authentication username                                                  |
- Парола            | Authentication password                                                  |
- Криптиране        | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS               | Use secure connection                                                    |
- Root Topic        | Base MQTT topic path                                                     |
- Map Report        | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Настройка  | Описание                        |
- ---------- | ------------------------------- |
- Активиран  | Activate serial communication   |
- Ехо        | Echo received serial data back  |
- Режим      | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Настройка                        | Описание                    |
- -------------------------------- | --------------------------- |
- Активиран                        | Activate notifications      |
- Предупредително съобщение        | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Активно                          | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Настройка                                  | Описание                                                                                                                                         |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Активиран                                  | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Записи                                     | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Сървър                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Настройка                              | Описание                          |
- -------------------------------------- | --------------------------------- |
- Активиран                              | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Настройка                        | Описание                                |
- -------------------------------- | --------------------------------------- |
- Device Metrics Interval          | How often to report device metrics      |
- Environment Metrics Interval     | How often to report environment sensors |
- Качество на въздуха е активирано | Report particulate sensor data          |
- Power Metrics Enabled            | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Настройка          | Описание                                                    |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Съобщения          | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Настройка       | Описание                         |
- --------------- | -------------------------------- |
- Активиран       | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Настройка            | Описание                                                        |
- -------------------- | --------------------------------------------------------------- |
- Активиран            | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Настройка                              | Описание                                                                                                                             |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Активиран                              | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Настройка          | Описание                                                   |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Текущ              | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Настройка                                | Описание                                                                                                                                |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Активиран                                | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Приятелско име                           | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Настройка                              | Описание                   |
- -------------------------------------- | -------------------------- |
- Активиран                              | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Администриране
-
-### Отдалечено администриране
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Почистване на базата данни с възлите
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Рестартиране
-
-Remotely reboot a connected or administered node.
-
-### Панел за отстраняване на грешки
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/settings-radio-user.html b/v2.8.0/docs/bg-rBG/user/settings-radio-user.html deleted file mode 100644 index 4341f00d47..0000000000 --- a/v2.8.0/docs/bg-rBG/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## Потребителски настройки
-
-### User Profile
-
- Настройка         | Описание                                                                              |
- ----------------- | ------------------------------------------------------------------------------------- |
- Дълго име         | Your display name (up to 39 characters)                            |
- Кратко име        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Конфигурация
-
-### Конфигуриране на устройството
-
- Настройка                                  | Описание                                                                | По подразбиране |
- ------------------------------------------ | ----------------------------------------------------------------------- | --------------- |
- Роля                                       | Node behavior (Client, Router, etc.) | Клиент          |
- Режим на препредаване                      | How the node retransmits messages                                       | Всички          |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800           |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled        |
-
-### Конфигуриране на LoRa
-
- Настройка                    | Описание                                                                | По подразбиране                           |
- ---------------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Регион                       | Regulatory region for frequency bands                                   | Unset (must configure) |
- Предварително настроен модем | Speed/range tradeoff                                                    | LongFast                                  |
- Лимит на отскоци             | Maximum retransmit hops                                                 | 3                                         |
- TX Power                     | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Отместване на честотата      | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth            | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Диапазон                | Скорост                   | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Конфигуриране на дисплея
-
- Настройка           | Описание                                                                             |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- Тип OLED            | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Конфигуриране на позицията
-
- Настройка                                 | Описание                           |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- Интервал на актуализиране на GPS          | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Интелигентна позиция                      | Enable movement-based broadcasting |
- Фиксирана позиция                         | Use a manually set position        |
-
-### Конфигуриране на захранването
-
- Настройка                               | Описание                                |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Конфигуриране на мрежата
-
- Настройка     | Описание                                             |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Парола за мрежата                                    |
- NTP сървър    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Конфигуриране на Bluetooth
-
- Настройка          | Описание                                                                  |
- ------------------ | ------------------------------------------------------------------------- |
- Bluetooth Enabled  | Enable/disable BLE radio                                                  |
- Режим на сдвояване | Fixed PIN, Random PIN, or No PIN                                          |
- Фиксиран ПИН       | PIN code for pairing (default: 123456) |
-
-### Конфигуриране на сигурността
-
- Настройка                 | Описание                                                                                                                                                                                                       |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Публичен ключ             | Your node's public key (read-only)                                                                                                                                                          |
- Администраторски ключ     | Key for remote administration                                                                                                                                                                                  |
- Частен ключ               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Управляем режим           | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Екранна снимка                                              |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/signal-meter.html b/v2.8.0/docs/bg-rBG/user/signal-meter.html deleted file mode 100644 index 1e0d8b0db6..0000000000 --- a/v2.8.0/docs/bg-rBG/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
----------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Добър         | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Задоволителен | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Лош           | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Няма          | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/tak.html b/v2.8.0/docs/bg-rBG/user/tak.html deleted file mode 100644 index 6f76fb2b72..0000000000 --- a/v2.8.0/docs/bg-rBG/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Преглед
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Конфигурация
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Настройка | Описание                   |
- --------- | -------------------------- |
- Активиран | Activate TAK interop       |
- Режим     | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Роля            | Описание                                                                                                                                                                                                                                                                            |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Настройка     | Описание                                                                                                         |
- ------------- | ---------------------------------------------------------------------------------------------------------------- |
- Цвят на екипа | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Роля на члена | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Съвместимост                                             | Характеристики                                                                                                                                                                                                     |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Отстраняване на неизправности
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/telemetry-and-sensors.html b/v2.8.0/docs/bg-rBG/user/telemetry-and-sensors.html deleted file mode 100644 index 3af74dd8df..0000000000 --- a/v2.8.0/docs/bg-rBG/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Телеметрия & Сензори - - - -
# Телеметрия & Сензори
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Преглед
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Метрични             | Описание                       | Типичен диапазон                                                   |
- -------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Ниво на батерията    | Charge percentage              | 0–100%                                                             |
- Напрежение           | Напрежение на батерията        | 3.0–4.2V (LiPo) |
- Използване на канала | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX   | % of airtime used by this node | 0–100%                                                             |
- Време на работа      | Seconds since last boot        | Varies                                                             |
-
-## Сензори за околна среда
-
-Поддържани сензори за околна среда:
-
-### Температура & Влажност
-
- Сензор  | Температура | Влажност | Налягане | Бележки                                     |
- ------- | ----------- | -------- | -------- | ------------------------------------------- |
- BME280  | ✓           | ✓        | ✓        | Препоръчително многофункционално устройство |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ                     |
- SHT31   | ✓           | ✓        | —        | Висока точност                              |
- MCP9808 | ✓           | —        | —        | Прецизна температура                        |
- LPS22   | —           | —        | ✓        | Само налягане                               |
-
-### Качество на въздуха
-
- Сензор   | Метрични                                           | Бележки                    |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Светлина & UV
-
- Сензор   | Метрични                                 |
- -------- | ---------------------------------------- |
- OPT3001  | Околна светлина (lux) |
- VEML7700 | Околна светлина (lux) |
- LTR390   | UV индекс                                |
-
-## Показатели на мощност
-
-Nodes with INA-series power sensors can report:
-
- Метрични    | Описание                                  |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Текущ       | Power consumption (mA) |
- Захранване  | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Метеорологична станция                     | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Метрични              | Unit  | Описание                     |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Отстраняване на неизправности
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/translate.html b/v2.8.0/docs/bg-rBG/user/translate.html deleted file mode 100644 index 0fce8978eb..0000000000 --- a/v2.8.0/docs/bg-rBG/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Благодарим ви, че помогнахте за разширяването на обхвата на Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/units-and-locale.html b/v2.8.0/docs/bg-rBG/user/units-and-locale.html deleted file mode 100644 index e5823b8972..0000000000 --- a/v2.8.0/docs/bg-rBG/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Температура
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Надморска височина |
- -------------------------------- | -------------- | ---------------------- | ------------------ |
- Метрични                         | 350 m          | 2.5 km | 1,200 m            |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft           |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Скорост
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Метрични                         | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Вятър
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Метрични                         | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Метрични                         | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Радиация                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Настройка        | What It Controls | Пример                                           |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/bg-rBG/user/widget.html b/v2.8.0/docs/bg-rBG/user/widget.html deleted file mode 100644 index d8ea322eb4..0000000000 --- a/v2.8.0/docs/bg-rBG/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/android-auto.html b/v2.8.0/docs/ca-rES/user/android-auto.html deleted file mode 100644 index 4f6a8ee7e8..0000000000 --- a/v2.8.0/docs/ca-rES/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/app-functions.html b/v2.8.0/docs/ca-rES/user/app-functions.html deleted file mode 100644 index 07f7d1234b..0000000000 --- a/v2.8.0/docs/ca-rES/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/connections.html b/v2.8.0/docs/ca-rES/user/connections.html deleted file mode 100644 index 2d70aef3ee..0000000000 --- a/v2.8.0/docs/ca-rES/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Descripció                    |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Desconnectat   | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/debug-logs.html b/v2.8.0/docs/ca-rES/user/debug-logs.html deleted file mode 100644 index 602724cc08..0000000000 --- a/v2.8.0/docs/ca-rES/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/desktop.html b/v2.8.0/docs/ca-rES/user/desktop.html deleted file mode 100644 index e71406ad1e..0000000000 --- a/v2.8.0/docs/ca-rES/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/discovery.html b/v2.8.0/docs/ca-rES/user/discovery.html deleted file mode 100644 index d88a59fbb5..0000000000 --- a/v2.8.0/docs/ca-rES/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traçar ruta
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/firmware.html b/v2.8.0/docs/ca-rES/user/firmware.html deleted file mode 100644 index 90df69026e..0000000000 --- a/v2.8.0/docs/ca-rES/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canal      | Descripció                                                                 |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/help-and-docs.html b/v2.8.0/docs/ca-rES/user/help-and-docs.html deleted file mode 100644 index 63aa1c7ffb..0000000000 --- a/v2.8.0/docs/ca-rES/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/map-and-waypoints.html b/v2.8.0/docs/ca-rES/user/map-and-waypoints.html deleted file mode 100644 index 4dc06f0938..0000000000 --- a/v2.8.0/docs/ca-rES/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Descripció                                              |
- ---------- | ------------------------------------------------------- |
- Nom        | Short identifier (max 29 characters) |
- Descripció | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Bloquejat  | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/messages-and-channels.html b/v2.8.0/docs/ca-rES/user/messages-and-channels.html deleted file mode 100644 index 4588433940..0000000000 --- a/v2.8.0/docs/ca-rES/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descripció                                                                                                                             |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Error                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Error                                | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------------------------ | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route                             | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK                              | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Temps esgotat                        | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Sense Interfície                     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit                       | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Sense canal                          | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large                            | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response                          | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit                     | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Sol·licitud errònia. | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/mqtt.html b/v2.8.0/docs/ca-rES/user/mqtt.html deleted file mode 100644 index d0a9f1e0ae..0000000000 --- a/v2.8.0/docs/ca-rES/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Descripció                                                                                    | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descripció                       |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descripció                          | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/node-metrics.html b/v2.8.0/docs/ca-rES/user/node-metrics.html deleted file mode 100644 index af9cbf9db9..0000000000 --- a/v2.8.0/docs/ca-rES/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Descripció                          |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperature                          | BME280, BME680, SHT31 |
- Humidity                             | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Descripció                                                                                                                                                                                                                 |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Descripció                                                                     |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- None    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Descripció              |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traçar ruta
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/nodes.html b/v2.8.0/docs/ca-rES/user/nodes.html deleted file mode 100644 index e5f37290b8..0000000000 --- a/v2.8.0/docs/ca-rES/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Descripció                                                                                                                                             |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtre                     | Descripció                                                                           |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descripció                                                         |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Última notícia | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distància      | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/onboarding.html b/v2.8.0/docs/ca-rES/user/onboarding.html deleted file mode 100644 index 4df6017d71..0000000000 --- a/v2.8.0/docs/ca-rES/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/settings-module-admin.html b/v2.8.0/docs/ca-rES/user/settings-module-admin.html deleted file mode 100644 index 8c00249fb8..0000000000 --- a/v2.8.0/docs/ca-rES/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Descripció                                                               |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Descripció                      |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Descripció                  |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Descripció                                                                                                                                       |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Descripció                        |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Descripció                              |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Descripció                                                  |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Descripció                       |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Descripció                                                      |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Descripció                                                                                                                           |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Descripció                                                 |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Descripció                                                                                                                              |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Descripció                 |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reiniciar
-
-Remotely reboot a connected or administered node.
-
-### Panell de depuració
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/settings-radio-user.html b/v2.8.0/docs/ca-rES/user/settings-radio-user.html deleted file mode 100644 index 8a6cb02d6c..0000000000 --- a/v2.8.0/docs/ca-rES/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Descripció                                                                            |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Descripció                                                              | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Descripció                                                              | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regió             | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Descripció                                                                           |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Descripció                         |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Descripció                              |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Descripció                                           |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Descripció                                                                |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Descripció                                                                                                                                                                                                     |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/signal-meter.html b/v2.8.0/docs/ca-rES/user/signal-meter.html deleted file mode 100644 index 64825837b6..0000000000 --- a/v2.8.0/docs/ca-rES/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- None  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/tak.html b/v2.8.0/docs/ca-rES/user/tak.html deleted file mode 100644 index 8bfcd0aca7..0000000000 --- a/v2.8.0/docs/ca-rES/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Descripció                 |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Descripció                                                                                                                                                                                                                                                                          |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Descripció                                                                                                       |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/telemetry-and-sensors.html b/v2.8.0/docs/ca-rES/user/telemetry-and-sensors.html deleted file mode 100644 index 8a545c5723..0000000000 --- a/v2.8.0/docs/ca-rES/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Descripció                     | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperature | Humidity | Pressure | Notes                   |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Descripció                                |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Descripció                   |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/translate.html b/v2.8.0/docs/ca-rES/user/translate.html deleted file mode 100644 index 4a909097f7..0000000000 --- a/v2.8.0/docs/ca-rES/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/units-and-locale.html b/v2.8.0/docs/ca-rES/user/units-and-locale.html deleted file mode 100644 index afaf25915a..0000000000 --- a/v2.8.0/docs/ca-rES/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ca-rES/user/widget.html b/v2.8.0/docs/ca-rES/user/widget.html deleted file mode 100644 index 5d44856afd..0000000000 --- a/v2.8.0/docs/ca-rES/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/android-auto.html b/v2.8.0/docs/cs-rCZ/user/android-auto.html deleted file mode 100644 index 7c07058ba2..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Zprávy
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Uzly
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/app-functions.html b/v2.8.0/docs/cs-rCZ/user/app-functions.html deleted file mode 100644 index b81a27b20f..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/connections.html b/v2.8.0/docs/cs-rCZ/user/connections.html deleted file mode 100644 index 3a15914248..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Připojení - - - -
# Připojení
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Popis                         |
- ---- | -------------- | ----------------------------- |
- 🟢   | Připojeno      | Active radio link established |
- 🟡   | Připojování    | Handshake in progress         |
- 🔴   | Odpojeno       | No active connection          |
- ⚪    | Not configured | Není vybráno žádné zařízení   |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/debug-logs.html b/v2.8.0/docs/cs-rCZ/user/debug-logs.html deleted file mode 100644 index 0f127d21ab..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/desktop.html b/v2.8.0/docs/cs-rCZ/user/desktop.html deleted file mode 100644 index 96d1c55ee6..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Poznámka                                                                                  |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mapa                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Nastavení                                    | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Aktualizace firmware                         | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Požadavky:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/discovery.html b/v2.8.0/docs/cs-rCZ/user/discovery.html deleted file mode 100644 index 493c857e23..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Objevujte - - - -
# Objevujte
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metrický                                 | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/firmware.html b/v2.8.0/docs/cs-rCZ/user/firmware.html deleted file mode 100644 index a1600e4854..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanál          | Popis                                                                      |
- -------------- | -------------------------------------------------------------------------- |
- Stabilní       | Recommended for most users; tested releases                                |
- Alfa           | Preview releases; may contain bugs                                         |
- Lokální soubor | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/help-and-docs.html b/v2.8.0/docs/cs-rCZ/user/help-and-docs.html deleted file mode 100644 index 68c5620f89..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/map-and-waypoints.html b/v2.8.0/docs/cs-rCZ/user/map-and-waypoints.html deleted file mode 100644 index fe264cfe8f..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Popis                                                   |
- ---------- | ------------------------------------------------------- |
- Jméno      | Short identifier (max 29 characters) |
- Popis      | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Uzamknout  | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Mapové vrstvy
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/messages-and-channels.html b/v2.8.0/docs/cs-rCZ/user/messages-and-channels.html deleted file mode 100644 index 3beb292c52..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanály
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Zabezpečení kanálu
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Popis                                                                                                                                  |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Doručeno do mesh sítě               | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Chyba                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Chyba               | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Vypršel čas spojení | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Žádné rozhraní      | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Žádný kanál         | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Žádná odpověď       | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Špatný požadavek    | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Typ           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/mqtt.html b/v2.8.0/docs/cs-rCZ/user/mqtt.html deleted file mode 100644 index 9542a7796a..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Nastavení
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Nastavení         | Popis                                                                                         | Výchozí                                             |
- ----------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Adresa serveru    | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Uživatelské jméno | Broker authentication                                                                         | meshdev                                             |
- Heslo             | Broker authentication                                                                         | large4cats                                          |
- Kořenové téma     | Base topic for messages                                                                       | msh                                                 |
- Encryption        | Encrypt MQTT payload                                                                          | Povoleno                                            |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS               | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting     | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Popis                            |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Popis                               | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/node-metrics.html b/v2.8.0/docs/cs-rCZ/user/node-metrics.html deleted file mode 100644 index 02b606105e..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Metriky zařízení
-
-Basic operating information reported by each node:
-
- Metrický       | Popis                               |
- -------------- | ----------------------------------- |
- Battery Level  | Current battery percentage          |
- Napětí         | Battery voltage reading             |
- Využití kanálu | Percentage of airtime consumed      |
- Airtime        | Transmission time used by this node |
- Doba provozu   | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Metriky prostředí
-
-Environmental sensor data (requires compatible hardware):
-
- Metrický                             | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Teplota                              | BME280, BME680, SHT31 |
- Vlhkost                              | BME280, BME680, SHT31 |
- Barometrický tlak                    | BME280, BMP280        |
- Odpor plynu                          | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metrický              | Unit      | Popis                                                                                                                                                                                                                      |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Silný    | < 1000    | Zelená   |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Červená  |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metrický    | Popis                                                                          |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Silný   | SNR above the preset's limit                                     |
- Slabý   | less than 5.5 dB below the limit                 |
- Špatný  | 5.5 dB to 7.5 dB below the limit |
- Žádný   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Metriky napájení
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metrický    | Popis                   |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Proud       | Power draw in milliamps |
- Napájení    | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Protokol pozic
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Nadm. výška
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informace o sousedech
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/nodes.html b/v2.8.0/docs/cs-rCZ/user/nodes.html deleted file mode 100644 index e78031c064..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Uzly - - - -
# Uzly
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Popis                                                                                                                                                  |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Senzor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtr                      | Popis                                                                                |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Popis                                                              |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator        | Screenshot                                                    |
- ---------------- | ------------------------------------------------------------- |
- Signal quality   | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level    | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count        | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Naposledy slyšen | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Vzdálenost       | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/onboarding.html b/v2.8.0/docs/cs-rCZ/user/onboarding.html deleted file mode 100644 index ac06b2b937..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/settings-module-admin.html b/v2.8.0/docs/cs-rCZ/user/settings-module-admin.html deleted file mode 100644 index 7f6d4b40b2..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Nastavení         | Popis                                                                    |
- ----------------- | ------------------------------------------------------------------------ |
- Povoleno          | Toggle MQTT bridge                                                       |
- Server            | MQTT broker address                                                      |
- Uživatelské jméno | Authentication username                                                  |
- Heslo             | Authentication password                                                  |
- Encryption        | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS               | Use secure connection                                                    |
- Kořenové téma     | Base MQTT topic path                                                     |
- Map Report        | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Nastavení  | Popis                           |
- ---------- | ------------------------------- |
- Povoleno   | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Nastavení                        | Popis                       |
- -------------------------------- | --------------------------- |
- Povoleno                         | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Nastavení                                  | Popis                                                                                                                                            |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Povoleno                                   | Activate store and forward                                                                                                                       |
- Pulzující LED                              | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Nastavení                              | Popis                             |
- -------------------------------------- | --------------------------------- |
- Povoleno                               | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Nastavení                    | Popis                                   |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Nastavení          | Popis                                                       |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Zprávy             | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Nastavení       | Popis                            |
- --------------- | -------------------------------- |
- Povoleno        | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Nastavení            | Popis                                                           |
- -------------------- | --------------------------------------------------------------- |
- Povoleno             | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Nastavení                              | Popis                                                                                                                                |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Povoleno                               | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Nastavení          | Popis                                                      |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Proud              | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Nastavení                                | Popis                                                                                                                                   |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Povoleno                                 | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Nastavení                              | Popis                      |
- -------------------------------------- | -------------------------- |
- Povoleno                               | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administrace
-
-### Vzdálená administrace
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Vyčistit databázi uzlů
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Restartovat
-
-Remotely reboot a connected or administered node.
-
-### Panel pro ladění
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/settings-radio-user.html b/v2.8.0/docs/cs-rCZ/user/settings-radio-user.html deleted file mode 100644 index 12b1c6456f..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Nastavení         | Popis                                                                                 |
- ----------------- | ------------------------------------------------------------------------------------- |
- Dlouhé jméno      | Your display name (up to 39 characters)                            |
- Krátké jméno      | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Nastavení
-
-### Nastavení zařízení
-
- Nastavení                                  | Popis                                                                   | Výchozí  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Režim opětovného vysílání                  | How the node retransmits messages                                       | Vše      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa nastavení
-
- Nastavení         | Popis                                                                   | Výchozí                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Region            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Předvolba modemu  | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Rychlost                  | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Nastavení zobrazení
-
- Nastavení           | Popis                                                                                |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Nastavení pozice
-
- Nastavení                                 | Popis                              |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Chytrá poloha                             | Enable movement-based broadcasting |
- Pevná poloha                              | Use a manually set position        |
-
-### Nastavení napájení
-
- Nastavení                               | Popis                                   |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Nastavení sítě
-
- Nastavení     | Popis                                                |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Nastavení bluetooth
-
- Nastavení         | Popis                                                                     |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Režim párování    | Fixed PIN, Random PIN, or No PIN                                          |
- Pevný PIN         | PIN code for pairing (default: 123456) |
-
-### Nastavení zabezpečení
-
- Nastavení                 | Popis                                                                                                                                                                                                          |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Veřejný klíč              | Your node's public key (read-only)                                                                                                                                                          |
- Administrátorský klíč     | Key for remote administration                                                                                                                                                                                  |
- Soukromý klíč             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Řízený režim              | Restrict non-admin channel changes                                                                                                                                                                             |
- Záloha klíčů              | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Obnovit klíče             | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Smazat zálohu klíče       | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/signal-meter.html b/v2.8.0/docs/cs-rCZ/user/signal-meter.html deleted file mode 100644 index 4ed4be94aa..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
---- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Silný  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Slabý  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Špatný | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Žádný  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/tak.html b/v2.8.0/docs/cs-rCZ/user/tak.html deleted file mode 100644 index cd6576e057..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Nastavení
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Nastavení | Popis                      |
- --------- | -------------------------- |
- Povoleno  | Activate TAK interop       |
- Mode      | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Popis                                                                                                                                                                                                                                                                               |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Nastavení   | Popis                                                                                                            |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/telemetry-and-sensors.html b/v2.8.0/docs/cs-rCZ/user/telemetry-and-sensors.html deleted file mode 100644 index facf0e64b3..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metrický           | Popis                          | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Napětí             | Battery voltage                | 3.0–4.2V (LiPo) |
- Využití kanálu     | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Doba provozu       | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Senzor  | Teplota | Vlhkost | Tlak | Poznámka                |
- ------- | ------- | ------- | ---- | ----------------------- |
- BME280  | ✓       | ✓       | ✓    | Recommended all-in-one  |
- BME680  | ✓       | ✓       | ✓    | Adds gas resistance/IAQ |
- SHT31   | ✓       | ✓       | —    | High accuracy           |
- MCP9808 | ✓       | —       | —    | Precision temperature   |
- LPS22   | —       | —       | ✓    | Pressure only           |
-
-### Air Quality
-
- Senzor   | Metrický                                           | Poznámka                   |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Senzor   | Metrický                               |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Metriky napájení
-
-Nodes with INA-series power sensors can report:
-
- Metrický    | Popis                                     |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Proud       | Power consumption (mA) |
- Napájení    | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metrický              | Unit  | Popis                        |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/translate.html b/v2.8.0/docs/cs-rCZ/user/translate.html deleted file mode 100644 index 61aa848982..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Děkujeme, že jste pomohli rozšířit dosah Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/units-and-locale.html b/v2.8.0/docs/cs-rCZ/user/units-and-locale.html deleted file mode 100644 index 43b7bcc9a9..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Teplota
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Nadm. výška |
- -------------------------------- | -------------- | ---------------------- | --------------------------- |
- Metrický                         | 350 m          | 2.5 km | 1,200 m                     |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft                    |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Rychlost
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metrický                         | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vítr
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metrický                         | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metrický                         | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometrický tlak                | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiace                          | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Nastavení        | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/cs-rCZ/user/widget.html b/v2.8.0/docs/cs-rCZ/user/widget.html deleted file mode 100644 index 047b0f6515..0000000000 --- a/v2.8.0/docs/cs-rCZ/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/android-auto.html b/v2.8.0/docs/de-rDE/user/android-auto.html deleted file mode 100644 index fdf57f169b..0000000000 --- a/v2.8.0/docs/de-rDE/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Übersicht
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Nachrichten
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Knoten
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/app-functions.html b/v2.8.0/docs/de-rDE/user/app-functions.html deleted file mode 100644 index 3d95131501..0000000000 --- a/v2.8.0/docs/de-rDE/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. Wenn diese aktiviert sind, kann ein Assistent Mesh-Workflows für Sie finden und auslösen – zum Beispiel das Senden einer Nachricht oder das Überprüfen Ihres Mesh-Status –, ohne dass Sie die App öffnen müssen.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-Die Funktionen sind in einen **Schreib**-Bereich (Funktionen, die etwas ändern oder Daten an Ihr Mesh senden) und einen **Lese**-Bereich (Funktionen, die lediglich Informationen zurückgeben) unterteilt.
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Funktion         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Funktion                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Datenschutz
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/connections.html b/v2.8.0/docs/de-rDE/user/connections.html deleted file mode 100644 index f273aef130..0000000000 --- a/v2.8.0/docs/de-rDE/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Verbindungen - - - -
# Verbindungen
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Symbol | Status              | Beschreibung                  |
- ------ | ------------------- | ----------------------------- |
- 🟢     | Verbunden           | Active radio link established |
- 🟡     | Wird verbunden      | Handshake in progress         |
- 🔴     | Verbindung getrennt | No active connection          |
- ⚪      | Not configured      | Kein Gerät ausgewählt         |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Einstellungen
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/debug-logs.html b/v2.8.0/docs/de-rDE/user/debug-logs.html deleted file mode 100644 index d35d897e1a..0000000000 --- a/v2.8.0/docs/de-rDE/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Fehlersuchprotokolle - - - -
# Fehlersuchprotokolle
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Möchtest du ein Problem melden?** Exportiere deine Logs (siehe unten) und hänge die `.txt`-Datei an deinen Bericht unter [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues) an. A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. Sie wählen den Speicherort über die Dateiauswahl des Systems aus, und die Datei wird mit einem Zeitstempel versehen (zum Beispiel `meshtastic_logcat_20260701_143312.txt`), sodass sich wiederholte Exporte nicht gegenseitig überschreiben.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/desktop.html b/v2.8.0/docs/de-rDE/user/desktop.html deleted file mode 100644 index 4da59cabeb..0000000000 --- a/v2.8.0/docs/de-rDE/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Funktion                                     | Android | Desktop | Knoten                                                                                    |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Karte                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Einstellungen                                | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Aktualisierung                      | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Benachrichtigungen                           | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Tastaturkürzel
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Tastaturkürzel | Action                 |
- -------------- | ---------------------- |
- **⌘/Ctrl+Q**   | Quit the application   |
- **⌘/Ctrl+,**   | Einstellungen öffnen   |
- **⌘/Ctrl+1**   | Switch to Messages tab |
- **⌘/Ctrl+2**   | Switch to Nodes tab    |
- **⌘/Ctrl+3**   | Switch to Map tab      |
- **⌘/Ctrl+4**   | Switch to Connect tab  |
- **⌘/Ctrl+/**   | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Voraussetzungen:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Bekannte Einschränkungen
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/discovery.html b/v2.8.0/docs/de-rDE/user/discovery.html deleted file mode 100644 index dfc717fb5c..0000000000 --- a/v2.8.0/docs/de-rDE/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Entdecken - - - -
# Entdecken
-
-Discovery-Tools helfen Ihnen zu verstehen, **wie** Ihr Mesh-Netzwerk vernetzt ist – welche Knoten einander erreichen können, welche Wege Nachrichten nehmen und wo Engpässe oder Schwachstellen bestehen.
-
-The app offers two complementary approaches:
-
-- **Lokale Netzwerk Erkennung (Scanner)** – ein automatischer Modus, der das angeschlossene Funkmodul nacheinander auf verschiedene LoRa Voreinstellungen umschaltet, auf jeder dieser Einstellungen lauscht und bewertet, welche davon an Ihrem Standort die beste Leistung erbringt.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Phase                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metrisch                                 | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Kanalauslastung                          | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/firmware.html b/v2.8.0/docs/de-rDE/user/firmware.html deleted file mode 100644 index 1c9a3bbcf8..0000000000 --- a/v2.8.0/docs/de-rDE/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmwareaktualisierungen - - - -
# Firmwareaktualisierungen
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal        | Beschreibung                                                               |
- ------------ | -------------------------------------------------------------------------- |
- Stabil       | Recommended for most users; tested releases                                |
- Alpha        | Preview releases; may contain bugs                                         |
- Lokale Datei | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Fehlerbehebung
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/help-and-docs.html b/v2.8.0/docs/de-rDE/user/help-and-docs.html deleted file mode 100644 index 21c71f529c..0000000000 --- a/v2.8.0/docs/de-rDE/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Suchen
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/map-and-waypoints.html b/v2.8.0/docs/de-rDE/user/map-and-waypoints.html deleted file mode 100644 index a39e6bbdbd..0000000000 --- a/v2.8.0/docs/de-rDE/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. Der Chip ist in der individuellen Identitätsfarbe des Knotens gehalten (einer festen Farbe, die sich aus der Knotennummer ableitet) – es handelt sich um denselben Chip wie in der Knotenliste, sodass ein Knoten überall gleich aussieht. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Kartensteuerung
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property     | Beschreibung                                            |
- ------------ | ------------------------------------------------------- |
- Name         | Short identifier (max 29 characters) |
- Beschreibung | Optional longer description                             |
- Symbol       | Visual marker emoji on the map                          |
- Gesperrt     | If locked, only the creator can edit or delete          |
- Expiration   | Optional auto-remove date and time                      |
- Geofence     | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Kartenebenen
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/messages-and-channels.html b/v2.8.0/docs/de-rDE/user/messages-and-channels.html deleted file mode 100644 index 734346dc4e..0000000000 --- a/v2.8.0/docs/de-rDE/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanäle
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Kanalsicherheit
-
-Channels support multiple encryption levels:
-
- Symbol | Security Level                       | Beschreibung                                                                                                                           |
- ------ | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒     | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐     | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓     | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️     | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direktnachrichten
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- Status                                      | Meaning                                                                                                                              |
- ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                                    | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient                      | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Versand ins Netz                            | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient         | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routen über den SF++ Weg.   | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Bestätigt auf dem SF++ Weg. | Confirmed delivered via the SF++ chain                                                                                               |
- Fehler                                      | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Fehler              | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Keine Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Zeitlimit erreicht  | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Keine Schnittstelle | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Kein Kanal          | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Keine Antwort       | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Ungültige Anfrage   | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Jeder Quick-Chat-Eintrag besteht aus einem kurzen **Namen** (der Schaltflächenbeschriftung), der einzufügenden **Nachricht** und einer Option zum **Sofortigen Senden**: Ist diese aktiviert, wird die Nachricht beim Tippen auf die Schaltfläche sofort versendet, anstatt zur Bearbeitung in das Eingabefeld eingefügt zu werden.
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Typ           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Bewährte Praktiken
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/mqtt.html b/v2.8.0/docs/de-rDE/user/mqtt.html deleted file mode 100644 index 01d4af6e32..0000000000 --- a/v2.8.0/docs/de-rDE/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Übersicht
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## So funktioniert's
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Einstellungen
-
-### MQTT aktivieren
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Einstellung     | Beschreibung                                                                                  | Standardwert                                        |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Serveradresse   | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Benutzername    | Broker authentication                                                                         | meshdev                                             |
- Passwort        | Broker authentication                                                                         | large4cats                                          |
- Hauptthema      | Base topic for messages                                                                       | msh                                                 |
- Verschlüsselung | Encrypt MQTT payload                                                                          | Aktiviert                                           |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Deaktiviert                                         |
- TLS             | Secure connection to broker                                                                   | Deaktiviert                                         |
- Map Reporting   | Report position to public map                                                                 | Deaktiviert                                         |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Beschreibung                     |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Beschreibung                        | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Bewährte Praktiken
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Fehlerbehebung
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/node-metrics.html b/v2.8.0/docs/de-rDE/user/node-metrics.html deleted file mode 100644 index 7349b21d97..0000000000 --- a/v2.8.0/docs/de-rDE/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Gerätedaten
-
-Basic operating information reported by each node:
-
- Metrisch        | Beschreibung                        |
- --------------- | ----------------------------------- |
- Batterie Ladung | Current battery percentage          |
- Spannung        | Battery voltage reading             |
- Kanalbelegung   | Percentage of airtime consumed      |
- Airtime         | Transmission time used by this node |
- Laufzeit        | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Umweltdaten
-
-Environmental sensor data (requires compatible hardware):
-
- Metrisch                             | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatur                           | BME280, BME680, SHT31 |
- Luftfeuchtigkeit                     | BME280, BME680, SHT31 |
- Luftdruck                            | BME280, BMP280        |
- Gaswiderstand                        | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Umgebungsmesswerte werden zur einfachen Trendanalyse im Zeitverlauf dargestellt – Temperatur, Luftfeuchtigkeit und Luftdruck erhalten jeweils ein eigenes Liniendiagramm, wobei die Maßeinheit auf der Y-Achse angezeigt wird.
-
-Der **IAQ-Index (Indoor Air Quality / Raumluftqualität)** des BME680 ist ein einzelner Wert im Bereich von 0 bis über 500, der aus dem Gaswiderstand abgeleitet und auf einer farbcodierten Skala von _Ausgezeichnet_ bis _Gefährlich belastet_ dargestellt wird:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. Dies ist **unabhängig vom BME680-IAQ-Messwert**, der unter „Environment Metrics“ (Umgebungsmesswerte) aufgeführt ist – IAQ ist ein einzelner, aus dem Gaswiderstand abgeleiteter Index, während die Luftqualitätsansicht die zugrundeliegenden Messwerte für Feinstaub und CO₂ grafisch darstellt.
-
- Metrisch              | Einheit   | Beschreibung                                                                                                                                                                                                               |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Farbe    |
- -------- | ---------------------------------- | -------- |
- Gut      | < 1000    | Grün     |
- Stuffy   | < 2000    | Gelb     |
- Schlecht | < 5000    | Orange   |
- Unsafe   | < 30000   | Rot      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signaldaten
-
-Radio signal quality information:
-
- Metrisch    | Beschreibung                                                                   |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Sprungweite | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Die Signalqualität wird auf der Grundlage des **Signal-Rauschabstand im Verhältnis zur Demodulationsschwelle der aktiven LoRa-Modem-Voreinstellung** bewertet, nicht anhand fester Schwellenwerte – ein bestimmter Wert des Signal-Rauschabstand hat je nach Voreinstellung unterschiedliche Bedeutungen (z. B. sind −15 dB bei „LongSlow“ in Ordnung, bei „ShortFast“ jedoch unbrauchbar). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality                  | Criteria                                                         |
- ------------------------ | ---------------------------------------------------------------- |
- Gut                      | SNR above the preset's limit                                     |
- Ordentliche Signalstärke | less than 5.5 dB below the limit                 |
- Schlecht                 | 5.5 dB to 7.5 dB below the limit |
- Keins                    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Verwenden Sie **Anfordern**, um beim verbundenen Funkgerät einen aktuellen Telemetriebericht zu den lokalen Statistiken (Local Stats) abzurufen, **Löschen**, um die Protokolle der lokalen Statistiken für diesen Knoten zu löschen, und **Speichern**, um den sichtbaren Verlauf der lokalen Statistiken als CSV-Datei zu exportieren.
-
-## Energiedaten
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metrisch    | Beschreibung            |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Stromstärke | Power draw in milliamps |
- Leistung    | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Standortprotokoll
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Höhe
-- Speed (if moving)
-- Timestamp for each position report
-
-## Nachbarinformation
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/nodes.html b/v2.8.0/docs/de-rDE/user/nodes.html deleted file mode 100644 index d391d6963a..0000000000 --- a/v2.8.0/docs/de-rDE/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Knoten - - - -
# Knoten
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Abzeichen  | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Rolle                            | Beschreibung                                                                                                                                           |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client - Versteckt               | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router mit Verzögerung           | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Behandelt Datenverkehr von/zu Ihren bevorzugten Knoten mit der Priorität „Router Late“ (wodurch sichergestellt wird, dass diese Nachrichten eine zusätzliche Relaisabdeckung erhalten), während der übrige Verkehr wie bei einem normalen Client gehandhabt wird.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Symbol      | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Knoten entfernen
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Beschreibung                                                                         |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sortieren                                   | Beschreibung                                                       |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Bildschirmfoto                                                |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Akkustand      | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Zuletzt gehört | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distanz        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-Sobald die Hardware eines Knotens erkannt wird, zeigt die Detailansicht einen ausklappbaren Bereich mit der Bezeichnung **„Ich möchte eins“** an. Dieser enthält Links zu Bezugsquellen oder weiterführenden Informationen zu dem jeweiligen Gerät – etwa zur Produktseite des Herstellers, zu Produktvarianten sowie zu Angeboten auf regionalen Marktplätzen (wie AliExpress, Amazon und unterstützten Händlern), gefiltert nach Ihrem Land. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/onboarding.html b/v2.8.0/docs/de-rDE/user/onboarding.html deleted file mode 100644 index 2da494451b..0000000000 --- a/v2.8.0/docs/de-rDE/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Erste Schritte - - - -
# Erste Schritte
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? Die [Anleitung für den Einstieg](https://meshtastic.org/docs/getting-started) auf meshtastic.org behandelt die Hardware-Auswahl, die anfängliche Funkkonfiguration und die Einrichtung deines ersten Mesh-Netzwerks.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/settings-module-admin.html b/v2.8.0/docs/de-rDE/user/settings-module-admin.html deleted file mode 100644 index 861843f1e4..0000000000 --- a/v2.8.0/docs/de-rDE/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Moduleinstellungen
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Einstellung     | Beschreibung                                                             |
- --------------- | ------------------------------------------------------------------------ |
- Aktiviert       | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Benutzername    | Authentication username                                                  |
- Passwort        | Authentication password                                                  |
- Verschlüsselung | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Hauptthema      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Einstellung   | Beschreibung                    |
- ------------- | ------------------------------- |
- Aktiviert     | Activate serial communication   |
- Echo          | Echo received serial data back  |
- Betriebsmodus | Text, Protobuf, or NMEA output  |
- RX/TX Pins    | GPIO pins for serial connection |
- Baudrate      | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Einstellung                      | Beschreibung                |
- -------------------------------- | --------------------------- |
- Aktiviert                        | Activate notifications      |
- Warnmeldung                      | Notify on incoming messages |
- Summer bei Warnmeldung           | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Warnglocke                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Aktiv                            | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Einstellung                                | Beschreibung                                                                                                                                     |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Aktiviert                                  | Activate store and forward                                                                                                                       |
- Puls                                       | Periodically announce this node's store-and-forward capability                                                                                   |
- Datensätze                                 | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Einstellung                            | Beschreibung                      |
- -------------------------------------- | --------------------------------- |
- Aktiviert                              | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Einstellung                  | Beschreibung                            |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Luftqualität aktiviert       | Report particulate sensor data          |
- Energiedaten aktiviert       | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Einstellung        | Beschreibung                                                |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Nachrichten        | Newline-separated list of messages                          |
- Sende Glocke       | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Einstellung     | Beschreibung                     |
- --------------- | -------------------------------- |
- Aktiviert       | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Wortauswahl | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Einstellung          | Beschreibung                                                    |
- -------------------- | --------------------------------------------------------------- |
- Aktiviert            | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Einstellung                            | Beschreibung                                                                                                                         |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Aktiviert                              | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Übertragen über LoRa                   | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Einstellung        | Beschreibung                                               |
- ------------------ | ---------------------------------------------------------- |
- LED Status         | Turn the LED on or off                                     |
- Stromstärke        | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Einstellung                              | Beschreibung                                                                                                                            |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Aktiviert                                | Activate detection sensor                                                                                                               |
- GPIO Pin überwachen                      | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Sende Glocke                             | Include bell character in alerts                                                                                                        |
- Anzeigename                              | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Einstellung                            | Beschreibung               |
- -------------------------------------- | -------------------------- |
- Aktiviert                              | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Einstellung
-
-### Ferneinstellung
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Knotendatenbank leeren
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Werkseinstellungen
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Neustart
-
-Remotely reboot a connected or administered node.
-
-### Debug-Ausgaben
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/settings-radio-user.html b/v2.8.0/docs/de-rDE/user/settings-radio-user.html deleted file mode 100644 index 044ac659bb..0000000000 --- a/v2.8.0/docs/de-rDE/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## Benutzereinstellungen
-
-### User Profile
-
- Einstellung       | Beschreibung                                                                          |
- ----------------- | ------------------------------------------------------------------------------------- |
- Langer Name       | Your display name (up to 39 characters)                            |
- Kurzname          | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Einstellungen
-
-### Geräteeinstellungen
-
- Einstellung                                | Beschreibung                                                            | Standardwert |
- ------------------------------------------ | ----------------------------------------------------------------------- | ------------ |
- Rolle                                      | Node behavior (Client, Router, etc.) | Client       |
- Weiterleitungsmodus                        | How the node retransmits messages                                       | Alle         |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800        |
- Double-tap Button                          | Action for double-tap button press                                      | Deaktiviert  |
-
-### LoRa Einstellungen
-
- Einstellung            | Beschreibung                                                            | Standardwert                              |
- ---------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Region                 | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Voreinstellungen | Speed/range tradeoff                                                    | LongFast                                  |
- Sprungweite            | Maximum retransmit hops                                                 | 3                                         |
- TX Power               | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequenzversatz        | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth      | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset                           | Bereich                 | Geschwindigkeit           | SNR Limit                | Best For                                                                                                 |
- -------------------------------- | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- SHORT_TURBO | ~1 km   | 21.9 kbps | −7,5 dB                  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast                       | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow                       | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- MEDIUM_FAST | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- MEDIUM_SLOW | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo                       | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast                        | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate                    | ~20 km  | 0,34 kbit/s               | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast                        | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow                        | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast                      | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow                      | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~                    | ~30 km  | 0,18 kbit/s               | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~               | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **Einhaltung der EU-Vorschriften für 866/868 MHz:** Verwenden Sie **Lite Fast**, **Lite Slow**, **Narrow Fast** oder **Narrow Slow** – diese sind für die EU-SRD-/868-MHz-Bänder mit geringerer Bandbreite optimiert.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Anzeigeeinstellungen
-
- Einstellung        | Beschreibung                                                                         |
- ------------------ | ------------------------------------------------------------------------------------ |
- Anzeigeabschaltung | Time before display sleeps                                                           |
- Anzeigeeinheiten   | Metric or Imperial                                                                   |
- OLED Typ           | Auto, SSD1306, SH1106, SH1107                                                        |
- Kompassausrichtung | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~  | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Standorteinstellungen
-
- Einstellung                               | Beschreibung                       |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Aktualisierungsintervall              | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Intelligente Position                     | Enable movement-based broadcasting |
- Fester Standort                           | Use a manually set position        |
-
-### Energie Einstellungen
-
- Einstellung                             | Beschreibung                            |
- --------------------------------------- | --------------------------------------- |
- Energiesparen                           | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Netzwerkeinstellungen
-
- Einstellung    | Beschreibung                                         |
- -------------- | ---------------------------------------------------- |
- WLAN aktiviert | Enable WiFi radio (ESP32 devices) |
- WLAN SSID      | Network name to connect to                           |
- WLAN PSK       | Netzwerkpasswort                                     |
- NTP Server     | Time synchronization server                          |
- Syslog Server  | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Einstellungen
-
- Einstellung       | Beschreibung                                                              |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Kopplungsmodus    | Fixed PIN, Random PIN, or No PIN                                          |
- Feste PIN         | PIN code for pairing (default: 123456) |
-
-### Sicherheitseinstellungen
-
- Einstellung                                     | Beschreibung                                                                                                                                                                                                   |
- ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Öffentlicher Schlüssel                          | Your node's public key (read-only)                                                                                                                                                          |
- Administrativer Schlüssel                       | Key for remote administration                                                                                                                                                                                  |
- Privater Schlüssel                              | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~                       | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Fehlersuchprotokolle (Debug) | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled                                  | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Verwalteter Modus                               | Restrict non-admin channel changes                                                                                                                                                                             |
- Schlüssel sichern                               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys                                    | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup                               | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level                                | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Bildschirmfoto                                              |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/signal-meter.html b/v2.8.0/docs/de-rDE/user/signal-meter.html deleted file mode 100644 index 7671b32111..0000000000 --- a/v2.8.0/docs/de-rDE/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-Die Meshtastic-Signalanzeige – die vertrauten Balken oder die Statusfarbe in der App – wird ganz anders berechnet als die „Balken“ bei einem herkömmlichen Mobiltelefon oder WLAN-Router.
-
-Most consumer devices simply measure how "loud" a signal is. Da Meshtastic jedoch die **LoRa Technologie (Long Range)** verwendet, misst die Signalanzeige, wie **klar** das Signal ist – und zwar im Verhältnis zu den spezifischen Einstellungen, die in Ihrem Mesh-Netzwerk genutzt werden.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. Es nutzt die **„Spread-Spectrum“**-Modulation, die es dem Funkgerät ermöglicht, ein Signal mathematisch aus der Luft zu extrahieren, selbst wenn es tief _unterhalb_ des Hintergrundrauschens liegt. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Je nachdem, welche Meshtastic Voreinstellung Sie verwenden (z. B. `LongFast` vs. `ShortFast`), weist das Funkgerät einen spezifischen **Signal-Rauschabstand Grenzwert** auf – das absolute Maximum an Rauschen, das es tolerieren kann, bevor die Nachricht im Rauschen vollständig verloren geht.
-
---------------------- | ------ | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Gut                      | 3      | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Ordentliche Signalstärke | 2      | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Schlecht                 | 1      | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Keins                    | 0      | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Hinweis:** Die festen Schwellenwerte des Signal-Rauschabstandes, die Sie möglicherweise an anderer Stelle gesehen haben (`-7 dB` / `-15 dB`), werden mittlerweile nur noch zur farblichen Kennzeichnung einzelner Sprünge in Traceroute Ergebnissen verwendet – nicht für die hier beschriebene Signalstärkeanzeige pro Knoten.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/tak.html b/v2.8.0/docs/de-rDE/user/tak.html deleted file mode 100644 index 98997f75e4..0000000000 --- a/v2.8.0/docs/de-rDE/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic lässt sich in das Team Awareness Kit (TAK)-Ökosystem integrieren und ermöglicht so die Interoperabilität zwischen Meshtastic Geräten und TAK-Anwendungen wie ATAK und WinTAK.
-
-## Übersicht
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Einstellungen
-
-### Voraussetzungen
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Einstellungen
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Einstellung   | Beschreibung               |
- ------------- | -------------------------- |
- Aktiviert     | Activate TAK interop       |
- Betriebsmodus | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Rolle           | Beschreibung                                                                                                                                                                                                                                                                        |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Einstellung    | Beschreibung                                                                                                     |
- -------------- | ---------------------------------------------------------------------------------------------------------------- |
- Teamfarbe      | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Mitgliedsrolle | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Kompatibilität                                           | Merkmale                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Fehlerbehebung
-
- Problem                                 | Ursache                                                                                                   | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/telemetry-and-sensors.html b/v2.8.0/docs/de-rDE/user/telemetry-and-sensors.html deleted file mode 100644 index 93c42ffc3f..0000000000 --- a/v2.8.0/docs/de-rDE/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Übersicht
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Gerätetelemetrie
-
-All Meshtastic nodes report basic device telemetry:
-
- Metrisch           | Beschreibung                   | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Batterie Ladung    | Charge percentage              | 0–100%                                                             |
- Spannung           | Battery voltage                | 3.0–4.2V (LiPo) |
- Kanalbelegung      | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Laufzeit           | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatur | Luftfeuchtigkeit | Druck | Knoten                  |
- ------- | ---------- | ---------------- | ----- | ----------------------- |
- BME280  | ✓          | ✓                | ✓     | Recommended all-in-one  |
- BME680  | ✓          | ✓                | ✓     | Adds gas resistance/IAQ |
- SHT31   | ✓          | ✓                | —     | High accuracy           |
- MCP9808 | ✓          | —                | —     | Precision temperature   |
- LPS22   | —          | —                | ✓     | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metrisch                                           | Knoten                     |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metrisch                               |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Energiedaten
-
-Nodes with INA-series power sensors can report:
-
- Metrisch    | Beschreibung                              |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Stromstärke | Power consumption (mA) |
- Leistung    | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metrisch              | Einheit | Beschreibung                 |
- --------------------- | ------- | ---------------------------- |
- PM1.0 | µg/m³   | Ultrafine particulate matter |
- PM2.5 | µg/m³   | Fine particulate matter      |
- PM10                  | µg/m³   | Coarse particulate matter    |
- CO₂                   | ppm     | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Fehlerbehebung
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/translate.html b/v2.8.0/docs/de-rDE/user/translate.html deleted file mode 100644 index 5301fca44e..0000000000 --- a/v2.8.0/docs/de-rDE/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Vielen Dank, dass Sie dabei geholfen haben, die Reichweite von Meshtastic zu vergrößern!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/units-and-locale.html b/v2.8.0/docs/de-rDE/user/units-and-locale.html deleted file mode 100644 index fee7f375f1..0000000000 --- a/v2.8.0/docs/de-rDE/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-Die Meshtastic-App zeigt Temperaturen, Entfernungen, Geschwindigkeiten und Zeiten automatisch in den Einheiten an, auf die Ihr Gerät konfiguriert ist – es sind keine Einstellungen innerhalb der App zu ändern.
-
-## Temperatur
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Höhe     |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metrisch                         | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Geschwindigkeit
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metrisch                         | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metrisch                         | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metrisch                         | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Einheit                        | Warum                                 |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Luftdruck                        | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Strahlung                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Einstellung      | What It Controls | Beispiel                                         |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-Die App verwendet zudem **relative Zeitangaben**, wo dies sinnvoll ist – zum Beispiel „vor 5 Min.“ oder „vor 2 Stunden“ in der Knotenliste –, die automatisch in die Sprache Ihres Geräts lokalisiert werden.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/de-rDE/user/widget.html b/v2.8.0/docs/de-rDE/user/widget.html deleted file mode 100644 index 62aaf77fff..0000000000 --- a/v2.8.0/docs/de-rDE/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/adding-a-feature-module.html b/v2.8.0/docs/developer/adding-a-feature-module.html deleted file mode 100644 index bbdf31e9d5..0000000000 --- a/v2.8.0/docs/developer/adding-a-feature-module.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Adding a Feature Module - - - -
# Adding a Feature Module
-
-Step-by-step guide for creating a new KMP feature module in the Meshtastic project.
-
-## 1. Create the Module Directory
-
-```bash
-mkdir -p feature/my-feature/src/{commonMain,commonTest,androidMain,jvmMain,iosMain}/kotlin/org/meshtastic/feature/myfeature
-```
-
-## 2. Create `build.gradle.kts`
-
-```kotlin
-plugins {
-    alias(libs.plugins.meshtastic.kmp.feature)
-}
-
-kotlin {
-    android { withHostTest { isIncludeAndroidResources = true } }
-
-    sourceSets {
-        commonMain.dependencies {
-            implementation(projects.core.common)
-            implementation(projects.core.navigation)
-            implementation(projects.core.resources)
-            implementation(projects.core.ui)
-            implementation(projects.core.di)
-        }
-
-        commonTest.dependencies {
-            implementation(libs.compose.multiplatform.ui.test)
-        }
-
-        jvmTest.dependencies {
-            implementation(compose.desktop.currentOs)
-        }
-    }
-}
-```
-
-## 3. Register in `settings.gradle.kts`
-
-Add your module to the main `include()` block:
-
-```kotlin
-include(
-    // ...existing modules...
-    ":feature:my-feature",
-)
-```
-
-## 4. Create the DI Module
-
-`src/commonMain/kotlin/org/meshtastic/feature/myfeature/di/FeatureMyFeatureModule.kt`:
-
-```kotlin
-package org.meshtastic.feature.myfeature.di
-
-import org.koin.core.annotation.ComponentScan
-import org.koin.core.annotation.Module
-
-@Module
-@ComponentScan("org.meshtastic.feature.myfeature")
-class FeatureMyFeatureModule
-```
-
-## 5. Register DI in App/Desktop
-
-Add your module to:
-- `androidApp/src/main/kotlin/org/meshtastic/app/di/AppKoinModule.kt`
-- `desktopApp/src/main/kotlin/org/meshtastic/desktop/di/DesktopKoinModule.kt`
-
-## 6. Add Navigation Routes
-
-In `core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt`:
-
-```kotlin
-@Serializable
-sealed interface MyFeatureRoute : Route {
-    @Serializable data object MyFeatureGraph : MyFeatureRoute, Graph
-    @Serializable data object MyFeatureHome : MyFeatureRoute
-}
-```
-
-## 7. Create Navigation Entries
-
-`src/commonMain/kotlin/org/meshtastic/feature/myfeature/navigation/MyFeatureNavigation.kt`:
-
-```kotlin
-package org.meshtastic.feature.myfeature.navigation
-
-import androidx.navigation3.runtime.EntryProviderScope
-import androidx.navigation3.runtime.NavBackStack
-import androidx.navigation3.runtime.NavKey
-import org.meshtastic.core.navigation.MyFeatureRoute
-
-fun EntryProviderScope<NavKey>.myFeatureGraph(backStack: NavBackStack<NavKey>) {
-    entry<MyFeatureRoute.MyFeatureHome> {
-        MyFeatureScreen()
-    }
-}
-```
-
-## 8. Source Set Guidelines
-
- Source Set | Contains |
------------|----------|
- `commonMain` | Models, ViewModels, shared UI, DI module, navigation |
- `androidMain` | Android-specific implementations (e.g., platform APIs) |
- `jvmMain` | Desktop-specific implementations |
- `iosMain` | iOS-specific implementations |
- `commonTest` | Shared unit tests |
-
-## 9. Testing Expectations
-
-Every feature module should have:
-- Unit tests in `commonTest` for business logic
-- UI tests using `compose-multiplatform-ui-test` where appropriate
-- No test dependency on other feature modules
-
-## 10. Checklist
-
-- [ ] Module directory created
-- [ ] `build.gradle.kts` with correct plugins and dependencies
-- [ ] Added to `settings.gradle.kts`
-- [ ] DI module created with `@ComponentScan`
-- [ ] DI module registered in app and desktop roots
-- [ ] Routes added to `Routes.kt`
-- [ ] Navigation entries registered
-- [ ] `./gradlew kmpSmokeCompile` passes
-- [ ] `./gradlew :feature:my-feature:allTests` passes
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/architecture.html b/v2.8.0/docs/developer/architecture.html deleted file mode 100644 index 1fc4a401a5..0000000000 --- a/v2.8.0/docs/developer/architecture.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - Architecture - - - -
# Architecture
-
-The Meshtastic Android and Desktop apps follow a modular Kotlin Multiplatform (KMP) architecture with clear layer boundaries (iOS is currently a compile-only validation target — there is no shipping iOS app yet).
-
-## Layer Overview
-
-```
-┌─────────────────────────────────────────────┐
-│          androidApp / desktopApp            │  Platform entry points
-├─────────────────────────────────────────────┤
-│              feature/* modules               │  UI + Business Logic
-├─────────────────────────────────────────────┤
-│                core/* modules                │  Shared infrastructure
-├─────────────────────────────────────────────┤
-│           Platform (Android/JVM/iOS)         │  OS-specific bindings
-└─────────────────────────────────────────────┘
-```
-
-## Module Categories
-
-### `androidApp/` — Android Application
-
-The Android application entry point:
-- Activity, Application, and Manifest definitions
-- Koin DI module composition (`AppKoinModule`)
-- Flavor-specific bindings (`google/`, `fdroid/`)
-- Android-only integrations (widgets, services)
-
-### `desktopApp/` — Desktop JVM Application
-
-The Desktop (Linux/macOS/Windows) entry point:
-- Compose Desktop window management
-- Desktop-specific DI (`DesktopKoinModule`)
-- Platform stubs for Android-only capabilities
-- BLE (Kable), Serial, and TCP transport implementations
-
-### `feature/*` — Feature Modules
-
-Each `feature/` module owns a vertical slice of functionality:
-
- Module | Responsibility |
---------|---------------|
- `feature:intro` | Onboarding/welcome flow |
- `feature:messaging` | Messages, channels, contacts, quick chat |
- `feature:connections` | Bluetooth/USB/TCP connection management |
- `feature:map` | Map display, waypoints |
- `feature:node` | Node list, node detail, metrics |
- `feature:settings` | All configuration screens |
- `feature:firmware` | Firmware update flow |
- `feature:docs` | In-app documentation browser |
- `feature:wifi-provision` | WiFi provisioning |
- `feature:widget` | Android home screen widgets |
- `feature:discovery` | Mesh network discovery |
- `feature:car` | Android Auto / Car App Library — google flavor only, conditionally registered in the google `FlavorModule` |
-
-Feature modules:
-- Use the `meshtastic.kmp.feature` convention plugin
-- Depend on `core` modules, never on other `feature` modules
-- Own their navigation entries and DI registrations
-- Contain platform-specific implementations in `androidMain`/`jvmMain`/`iosMain`
-
-### `core/*` — Core Modules
-
-Shared infrastructure used by all features:
-
- Module | Responsibility |
---------|---------------|
- `core:common` | Utilities, extensions, build config |
- `core:navigation` | Routes, deep links, Navigation 3 |
- `core:ui` | Shared Compose components, icons, theme |
- `core:resources` | Shared string resources |
- `core:model` | Domain models |
- `core:data` | Data layer abstractions |
- `core:domain` | Use cases / business logic |
- `core:database` | Room KMP database |
- `core:datastore` | DataStore preferences |
- `core:prefs` | App preferences |
- `core:repository` | Repository interfaces |
- `core:service` | Mesh service layer |
- `core:di` | DI utilities |
- `core:network` | HTTP/serial/transport |
- `core:ble` | Bluetooth LE abstractions |
- `core:barcode` | QR / barcode scanning (channel-share QR codes) |
- `core:nfc` | NFC read/write support |
- `core:takserver` | Embedded TAK server integration |
- `core:testing` | Test utilities |
- `core:konsist` | Konsist architecture/convention tests |
-
-Protobuf models are no longer a local module — they come from the external `org.meshtastic:protobufs` Maven artifact (pinned in `gradle/libs.versions.toml`).
-
-## KMP Source Sets
-
-Each module uses the standard KMP source set hierarchy:
-
-```
-src/
-├── commonMain/     ← Shared code (all platforms)
-├── commonTest/     ← Shared tests
-├── androidMain/    ← Android-specific
-├── jvmMain/        ← Desktop JVM-specific
-├── iosMain/        ← iOS-specific
-└── jvmTest/        ← Desktop test host
-```
-
-**Golden Rules:**
-- No `android.*` imports in `commonMain`
-- Platform-specific code goes in appropriate source set
-- Prefer interfaces + DI over `expect`/`actual` for complex behaviors
-- Use `expect`/`actual` only for simple declarations
-
-## Dependency Injection
-
-The project uses **Koin** with annotation processing:
-- `@Module`, `@Single`, `@Factory` annotations
-- `@ComponentScan` for automatic registration
-- Feature modules export their own `Feature*Module` class
-- App/Desktop compose all modules in their root DI configuration
-
-## Radio Control
-
-Features issue radio commands through `RadioController` (`core:repository`), a composite of four
-focused sub-interfaces so callers can depend on just the slice they need:
-
- Sub-interface | Responsibility |
----------------|---------------|
- `AdminController` | Config, channels, owner, device lifecycle, `editSettings { }` transactions |
- `MessagingController` | Send packets, reactions, shared contacts |
- `NodeController` | Favorite, ignore, mute, remove nodes |
- `QueryController` | Telemetry, traceroute, position/user-info queries |
-
-`RadioControllerImpl` (`core:service`) is the in-process composition root for all targets
-(Desktop, iOS, single-process Android). It assembles the four sub-controllers via Kotlin interface
-delegation and adds the cross-cutting concerns (connection state, packet-id, location,
-device-address switching). Commands are direct suspend calls; admin writes are fire-and-forget
-because the device is the source of truth (local persistence is an optimistic cache). The layered
-shape mirrors the [meshtastic-sdk](https://github.com/meshtastic/meshtastic-sdk)
-`AdminApi`/`TelemetryApi` design to ease a future SDK migration.
-
-## Service Repository
-
-`ServiceRepository` is the reactive bridge between the mesh service and all feature/UI layers.
-It is decomposed into focused provider interfaces following the Interface Segregation Principle:
-
- Interface | Responsibility |
------------|---------------|
- `ConnectionStateProvider` | Read-only `connectionState: StateFlow<ConnectionState>` |
- `TracerouteResponseProvider` | Traceroute response state + clear |
- `NeighborInfoResponseProvider` | Neighbor info response state + clear |
- `ServiceStateWriter` | Write-side for handlers (set*, emit*, clear*) |
-
-`ServiceRepository` extends all four interfaces — consumers inject the narrowest interface
-they actually need. For example, `ContactsViewModel` injects only `ConnectionStateProvider`
-rather than the entire `ServiceRepository`, preventing accidental access to write operations
-from UI code. `RadioController` also extends `ConnectionStateProvider` so VMs that already
-inject a controller sub-interface can read connection state without a separate dependency.
-
-## Navigation
-
-Navigation uses **Navigation 3** with typed routes:
-- All routes defined in `core/navigation/Routes.kt`
-- Routes are `@Serializable` data classes/objects
-- Deep links resolved through `DeepLinkRouter`
-- Each feature registers its own navigation entries
-
-See [Navigation & Deep Links](navigation-and-deep-links) for details.
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/codebase.html b/v2.8.0/docs/developer/codebase.html deleted file mode 100644 index fa3d124f0a..0000000000 --- a/v2.8.0/docs/developer/codebase.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - Codebase - - - -
# Codebase
-
-Repository layout, namespacing conventions, and build system overview.
-
-## Repository Structure
-
-```
-Meshtastic-Android/
-├── androidApp/                 # Android application module
-│   ├── src/main/           # Shared Android code
-│   ├── src/google/         # Google Play flavor (Gemini, proprietary)
-│   └── src/fdroid/         # F-Droid flavor (FOSS-only)
-├── desktopApp/                # Desktop JVM application
-├── feature/                # Feature modules (KMP)
-│   ├── intro/
-│   ├── messaging/
-│   ├── connections/
-│   ├── map/
-│   ├── node/
-│   ├── settings/
-│   ├── firmware/
-│   ├── docs/
-│   ├── wifi-provision/
-│   ├── widget/
-│   ├── discovery/
-│   └── car/
-├── core/                   # Core infrastructure modules (KMP)
-│   ├── barcode/
-│   ├── ble/
-│   ├── common/
-│   ├── data/
-│   ├── database/
-│   ├── datastore/
-│   ├── di/
-│   ├── domain/
-│   ├── konsist/
-│   ├── model/
-│   ├── navigation/
-│   ├── network/
-│   ├── nfc/
-│   ├── prefs/
-│   ├── repository/
-│   ├── resources/
-│   ├── service/
-│   ├── takserver/
-│   ├── testing/
-│   └── ui/
-├── baselineprofile/        # Baseline Profile generation for :androidApp
-├── screenshot-tests/       # Compose Preview screenshot tests (visual-regression gate)
-├── docs-screenshots/       # Doc-framed composition screenshots (generate-only, not CI-gated)
-├── build-logic/            # Convention plugins and build helpers
-│   └── convention/
-├── docs/                   # Documentation source (markdown)
-│   └── en/                 # English source; other locales live under docs/<locale>/user/
-│       ├── user/
-│       └── developer/
-├── gradle/                 # Gradle wrapper and version catalog
-│   └── libs.versions.toml
-├── specs/                  # Feature specifications
-└── .github/workflows/      # CI/CD workflows
-```
-
-## Namespacing Convention
-
-All Kotlin packages follow the pattern:
-```
-org.meshtastic.{layer}.{module}.{subpackage}
-```
-
-Examples:
-- `org.meshtastic.core.navigation` — core navigation module
-- `org.meshtastic.feature.docs.ui` — docs feature UI package
-- `org.meshtastic.app.di` — app DI configuration
-
-## Build System
-
-### Gradle Kotlin DSL
-
-All build files use Kotlin DSL (`.gradle.kts`). Configuration:
-
-- **Version catalog:** `gradle/libs.versions.toml`
-- **Convention plugins:** `build-logic/convention/`
-- **Settings:** `settings.gradle.kts`
-
-### Convention Plugins
-
-Located in `build-logic/convention/src/main/kotlin/`:
-
- Plugin | Purpose |
---------|---------|
- `meshtastic.kmp.feature` | Standard feature module setup |
- `meshtastic.kmp.jvm.android` | JVM + Android target configuration |
- `meshtastic.kotlinx.serialization` | Serialization plugin setup |
-
-### Build Variants (Android)
-
- Flavor | Description |
---------|-------------|
- `google` | Google Play distribution; includes proprietary APIs |
- `fdroid` | F-Droid distribution; FOSS-only dependencies |
-
-### Key Gradle Tasks
-
-```bash
-# Compile check across all KMP targets
-./gradlew kmpSmokeCompile
-
-# Run all tests
-./gradlew allTests
-
-# Code quality
-./gradlew spotlessCheck detekt
-
-# Android build
-./gradlew assembleGoogleDebug assembleFdroidDebug
-
-# Desktop run
-./gradlew :desktopApp:run
-
-# Desktop native installers for the current OS (DMG / MSI+EXE / DEB+RPM+AppImage)
-./gradlew :desktopApp:packageReleaseDistributionForCurrentOS
-
-# API reference (Dokka HTML → build/dokka/html)
-./gradlew dokkaGeneratePublicationHtml
-```
-
-## Version Catalog Highlights
-
-Key dependencies in `gradle/libs.versions.toml`:
-
- Category | Library |
-----------|---------|
- Compose | Compose Multiplatform (JetBrains) |
- Navigation | Navigation 3 |
- DI | Koin (annotations) |
- Serialization | kotlinx.serialization |
- Database | Room KMP |
- Networking | Ktor |
- Markdown | multiplatform-markdown-renderer |
- Testing | kotlin-test, compose-ui-test |
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/contributing.html b/v2.8.0/docs/developer/contributing.html deleted file mode 100644 index 38920f0b1b..0000000000 --- a/v2.8.0/docs/developer/contributing.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - Contributing - - - -
# Contributing
-
-Guidelines for contributing to the Meshtastic Android/Desktop project (a KMP codebase that also compiles for iOS).
-
-## Branch Naming
-
-Branches use conventional-commit style prefixes:
-
- Prefix | Use for |
---------|---------|
- `feat/<scope>` | New user-visible behavior |
- `fix/<scope>` | Bug fixes |
- `refactor/<scope>` | Code structure changes |
- `chore/<scope>` | Tooling, deps, CI, cleanup |
- `docs/<scope>` | Documentation only |
- `build/<scope>` | Build system changes |
- `ci/<scope>` | CI workflow changes |
- `test/<scope>` | Test additions or fixes |
- `deps/<scope>` | Dependency updates |
-
-Timestamp-based spec prefixes (`YYYYMMDD-HHMMSS-feature-name`, as created by `/speckit.git.feature`) are also valid for spec-driven work.
-
-Examples:
-- `feat/desktop-ble-transport`
-- `fix/bluetooth-reconnect`
-- `20260601-074653-air-quality-telemetry`
-
-## Development Workflow
-
-1. **Fork** the repository (external contributors) or create a branch (maintainers).
-2. **Implement** your changes following the architecture guidelines.
-3. **Test** locally: `./gradlew spotlessCheck detekt kmpSmokeCompile test allTests`
-4. **Commit** with clear, descriptive messages.
-5. **Push** and open a Pull Request.
-
-## Commit Messages
-
-Follow conventional commit style:
-```
-feat(docs): add in-app documentation browser
-fix(ble): handle reconnection timeout
-refactor(navigation): migrate to typed routes
-test(search): add keyword ranking tests
-```
-
-## Pull Request Checklist
-
-Before submitting:
-- [ ] Code compiles on all targets: `./gradlew kmpSmokeCompile`
-- [ ] All tests pass: `./gradlew allTests`
-- [ ] Code style passes: `./gradlew spotlessCheck`
-- [ ] Static analysis passes: `./gradlew detekt`
-- [ ] New code has appropriate test coverage
-- [ ] No `android.*` imports in `commonMain`
-- [ ] Koin modules registered if new DI is added
-- [ ] Routes added to `Routes.kt` if new navigation is introduced
-- [ ] Documentation updated if user-facing behavior changes
-
-## Code Style
-
-- **Formatting:** Enforced by Spotless (KtLint rules)
-- **Static analysis:** Detekt with project-specific configuration
-- **Imports:** No wildcard imports; organized automatically by Spotless
-- **Line length:** 120 characters maximum
-
-Run formatting:
-```bash
-./gradlew spotlessApply
-```
-
-## Architecture Rules
-
-- Feature modules must not depend on other feature modules
-- `commonMain` must not contain `android.*`, `java.io.*`, or platform-specific imports
-- Prefer interface + DI over `expect`/`actual` for complex platform behaviors
-- All navigation routes must be `@Serializable` and defined in `Routes.kt`
-- Use Koin annotations (`@Single`, `@Factory`, `@Module`) for dependency injection
-
-## Verification
-
-Full pre-merge verification:
-```bash
-./gradlew spotlessCheck detekt kmpSmokeCompile test allTests
-```
-
-For docs-specific changes, also run:
-```bash
-./gradlew generateDocsBundle validateDocsBundle
-```
-
-## Getting Help
-
-- [Meshtastic Discord](https://discord.gg/meshtastic) — `#app-development` channel
-- GitHub Issues — for bug reports and feature requests
-- GitHub Discussions — for questions and ideas
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/measurement.html b/v2.8.0/docs/developer/measurement.html deleted file mode 100644 index 6a0326f68b..0000000000 --- a/v2.8.0/docs/developer/measurement.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - Measurement & Formatting - - - -
# Measurement & Formatting
-
-How the Meshtastic Android/KMP app formats numbers, units, and locale-sensitive values.
-
----|---|
- `MetricFormatter` | `core/common/.../util/MetricFormatter.kt` | Converts and formats physical measurements (temperature, pressure, speed, etc.) |
- `NumberFormatter` | `core/common/.../util/NumberFormatter.kt` | Low-level fixed-point number formatting with locale-independent dot separator |
-
-Both live in `org.meshtastic.core.common.util` and are available to all KMP targets (Android, Desktop, iOS).
-
-## NumberFormatter
-
-`NumberFormatter` provides locale-independent decimal formatting using pure arithmetic (no `String.format` or `DecimalFormat`):
-
-```kotlin
-object NumberFormatter {
-    fun format(value: Double, decimalPlaces: Int): String
-    fun format(value: Float, decimalPlaces: Int): String
-}
-```
-
-> **Why locale-independent?** Meshtastic is a mesh networking app where consistency matters — sensor readings shared between nodes should look the same everywhere. `NumberFormatter` always uses `.` as the decimal separator.
-
----|---|
- `temperature` | `isFahrenheit` | `°F = °C × 1.8 + 32` |
- `windSpeed` | `isImperial` | m/s × 2.23694 → mph |
- `rainfall` | `isImperial` | mm ÷ 25.4 → in |
-
-Everything else (voltage, current, pressure, SNR, RSSI, humidity, percent) displays in its native metric units. The user-facing [Units & Locale](../user/units-and-locale) page explains what end users see.
-
-## DateFormatter
-
-Date and time formatting uses the `DateFormatter` `expect object` with platform-specific `actual` implementations:
-
- Function | Output Example |
----|---|
- `formatRelativeTime()` | "5 min ago" |
- `formatDateTime()` | "May 13, 2026 2:30 PM" |
- `formatShortDate()` | "May 13" |
- `formatTime()` | "2:30 PM" |
- `formatTimeWithSeconds()` | "2:30:45 PM" |
- `formatDate()` | "2026-05-13" |
- `formatDateTimeShort()` | "5/13/26 2:30 PM" |
-
-Unlike `MetricFormatter`, `DateFormatter` is declared with `expect`/`actual` (an `expect object` in `commonMain`, an `actual object` per platform) because date formatting inherently depends on platform locale APIs.
-
----|
- Locale-independent decimal separator (`.`) | Mesh data shared between nodes must be consistent |
- Pure arithmetic formatting (no `DecimalFormat`) | Works identically on JVM, Native, and JS targets |
- Only temperature, wind speed, and rainfall convert | The remaining metric units are universally understood in their native form |
- `object` singleton pattern | Stateless utility — no instance management needed |
-
----
-
-## Related
-
-- **User-facing docs**: [Units & Locale](../user/units-and-locale) explains what end users see
-- **Source code**: `core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MetricFormatter.kt`
-- **Tests**: `core/common/src/commonTest/kotlin/org/meshtastic/core/common/util/MetricFormatterTest.kt`
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/navigation-and-deep-links.html b/v2.8.0/docs/developer/navigation-and-deep-links.html deleted file mode 100644 index fc2d00137d..0000000000 --- a/v2.8.0/docs/developer/navigation-and-deep-links.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Navigation & Deep Links - - - -
# Navigation & Deep Links
-
-The app uses **Navigation 3** with typed, serializable routes and centralized deep link resolution.
-
-## Route Architecture
-
-All routes are defined in `core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt`.
-
-### Route Hierarchy
-
-```kotlin
-interface Route : NavKey           // All routes implement NavKey
-interface Graph : Route            // Graph roots for navigation hierarchies
-
-@Serializable
-sealed interface SettingsRoute : Route {
-    @Serializable data class Settings(val destNum: Int? = null) : SettingsRoute, Graph
-    @Serializable data object DeviceConfiguration : SettingsRoute
-    @Serializable data object HelpDocs : SettingsRoute
-    @Serializable data class HelpDocPage(val pageId: String) : SettingsRoute
-    // ...
-}
-```
-
-### Conventions
-
-- Routes are `@Serializable` for state restoration
-- Use `data object` for routes without parameters
-- Use `data class` for parameterized routes
-- Group related routes under a `sealed interface`
-- Graph entry points implement both the route interface and `Graph`
-
-## Deep Link Router
-
-`DeepLinkRouter` in `core/navigation` maps URI deep links to typed backstack lists.
-
-### URI Format
-
-Both forms resolve through the same `DeepLinkRouter`, so any path below works with either scheme:
-
-```text
-meshtastic://meshtastic/{path}
-https://meshtastic.org/{path}       # App Link, android:autoVerify — also opens in-app on a real device/adb
-```
-
-`adb shell am start -a android.intent.action.VIEW -d "meshtastic://meshtastic/{path}"` is the fastest way to
-trigger any route below from a shell or automation script without touching the UI.
-
-For the `https` form to open in-app, each top-level path segment must also be declared as an
-`android:pathPrefix` in the `android:autoVerify` intent-filter in `androidApp/src/main/AndroidManifest.xml` —
-otherwise the link opens in the browser. Adding a new top-level route therefore takes three steps: add the
-segment to `DeepLinkRouter.topLevelPathSegments` (the router refuses to dispatch segments outside that set),
-add its `when` branch in `DeepLinkRouter.route()`, and add the matching `pathPrefix` to the manifest.
-`DeepLinkManifestConsistencyTest` (androidApp unit tests) checks the manifest against the set, so a missing
-manifest entry fails CI.
-
-**Source of truth:** the always-current list of top-level segments is `topLevelPathSegments` in
-[`DeepLinkRouter`](https://github.com/meshtastic/Meshtastic-Android/blob/main/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/DeepLinkRouter.kt)
-— sub-paths live in the `route()` `when` block plus its helper maps (`settingsSubRoutes`, `nodeDetailSubRoutes`);
-the class-level KDoc is illustrative, not exhaustive. It also exists as executable spec in
-[`DeepLinkRouterTest.kt`](https://github.com/meshtastic/Meshtastic-Android/blob/main/core/navigation/src/commonTest/kotlin/org/meshtastic/core/navigation/DeepLinkRouterTest.kt).
-The table below is a snapshot for quick reference — check those two files if it looks out of date.
-
-### Supported Deep Links
-
- URI Path | Route | Notes |
-----------|-------|-------|
- `/connections` | `ConnectionsRoute.Connections(null)` | Connections screen |
- `/connections?address={prefixedAddress}` | `ConnectionsRoute.Connections(address)` | Auto-connects to a device without manual selection — the address uses the app's internal transport-prefixed format: `t192.168.1.1:4403` (TCP), `xAA:BB:CC:DD:EE:FF` (BLE), `s/dev/ttyUSB0` (serial). Intended for scripts/AI tooling driving the app. |
- `/connections?address=n` | `ConnectionsRoute.Connections("n")` | Disconnects the current device instead of connecting (`n` = the internal "no device selected" sentinel). |
- `/wifi-provision` | `WifiProvisionRoute.WifiProvision(null)` | WiFi provisioning screen |
- `/wifi-provision?address={mac}` | `WifiProvisionRoute.WifiProvision(mac)` | Provisioning targeting a specific device MAC |
- `/settings` | `SettingsRoute.Settings(null)` | Settings root |
- `/settings/helpDocs` | `SettingsRoute.HelpDocs` | Docs browser |
- `/settings/helpDocs/{pageId}` | `SettingsRoute.HelpDocPage(pageId)` | Specific doc page |
- `/settings/help-docs` | `SettingsRoute.HelpDocs` | Compatibility alias |
- `/discovery` | `DiscoveryRoute.DiscoveryGraph` | Local Mesh Discovery entry point |
- `/settings/local-mesh-discovery/session/{sessionId}` | `DiscoveryRoute.DiscoverySummary(sessionId)` | Discovery session result |
- `/nodes` | `NodesRoute.Nodes` | Node list |
- `/nodes/{destNum}` | `NodesRoute.NodeDetail(destNum)` | Node detail |
- `/nodes/{destNum}/{metric}` | e.g. `NodeDetailRoute.DeviceMetrics(destNum)` | Specific node metric tab (`device-metrics`, `signal`, `power`, `traceroute`, `pax`, `neighbors`, ...) |
- `/messages` | `ContactsRoute.Contacts` | Conversation list |
- `/messages/{contactKey}` | `ContactsRoute.Messages(contactKey)` | Specific conversation |
- `/share?message={text}` | `ContactsRoute.Share(message)` | Share-to-contact composer |
- `/quickchat` | `ContactsRoute.QuickChat` | Quick chat picker |
- `/map` | `MapRoute.Map(null)` | Map view |
- `/map/{waypointId}` | `MapRoute.Map(waypointId)` | Map centered on a waypoint |
- `/channels` | `ChannelsRoute.Channels` | Channel list |
- `/firmware` | `FirmwareRoute.FirmwareGraph` | Firmware screen |
- `/firmware/update` | `FirmwareRoute.FirmwareUpdate` | Firmware update flow |
-
-### Backstack Synthesis
-
-Deep links synthesize a full backstack, not just the target screen:
-
-```kotlin
-// /settings/helpDocs/messages-and-channels produces:
-listOf(
-    SettingsRoute.Settings(null),
-    SettingsRoute.HelpDocs,
-    SettingsRoute.HelpDocPage("messages-and-channels"),
-)
-```
-
-This ensures the user can navigate "up" correctly.
-
-## Adding a Deep Link
-
-1. Define the typed route in `Routes.kt`.
-2. Add the mapping in `DeepLinkRouter.settingsSubRoutes` (or equivalent for other graphs).
-3. Add a test in `DeepLinkRouterTest.kt`.
-4. Register the navigation entry in the appropriate feature module.
-5. Update the KDoc list on `DeepLinkRouter.route()` and the table above — they're the two places tooling/agents look to discover what deep links exist.
-
-## Navigation Entry Registration
-
-Each feature module provides entries via an extension function:
-
-```kotlin
-fun EntryProviderScope<NavKey>.docsEntries(backStack: NavBackStack<NavKey>) {
-    entry<SettingsRoute.HelpDocs> { DocsBrowserScreen(backStack) }
-    entry<SettingsRoute.HelpDocPage> { route -> DocsPageRouteScreen(route.pageId, backStack) }
-}
-```
-
-These are called from the settings navigation composition.
-
-## Testing
-
-Deep link routing is tested in:
-```
-core/navigation/src/commonTest/kotlin/org/meshtastic/core/navigation/DeepLinkRouterTest.kt
-```
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/persistence.html b/v2.8.0/docs/developer/persistence.html deleted file mode 100644 index 70e25f9248..0000000000 --- a/v2.8.0/docs/developer/persistence.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - Persistence - - - -
# Persistence
-
-How the Meshtastic app stores data across different mechanisms.
-
-## Room KMP Database
-
-**Module:** `core:database`
-
-The primary structured data store:
-- Node information and history
-- Message history
-- Waypoints
-- Telemetry data
-- Channel configurations
-
-### Key Points
-
-- Uses Room KMP for cross-platform compatibility
-- Migrations managed through Room's built-in migration system
-- DAO interfaces live in `core:database`
-- Repository layer in `core:repository` provides the public API
-- Full-text message search is backed by an FTS5 content table (`PacketFts`) over `Packet`, kept in sync by Room-managed triggers
-
-### What's Stored in Room
-
- Entity | Description |
---------|-------------|
- `NodeEntity` | All known mesh nodes and their metadata |
- `MyNodeEntity` | The local node's own info |
- `Packet` | Message history (channel and direct), waypoints, and telemetry data |
- `PacketFts` | FTS5 virtual table mirroring `Packet.messageText` for full-text message search (Room-managed INSERT/UPDATE/DELETE triggers keep it in sync) |
- `ContactSettings` | Per-contact mute and read-state |
- `ReactionEntity` | Emoji reactions on messages |
- `MeshLog` | Raw mesh protocol logs |
- `MetadataEntity` | Device metadata (firmware version, hardware model) |
- `QuickChatAction` | User-configured quick-chat messages |
- `DeviceHardwareEntity` | Cached device hardware catalog |
- `FirmwareReleaseEntity` | Cached firmware release info |
- `TracerouteNodePositionEntity` | Traceroute hop position data |
- `DiscoverySessionEntity` | A Local Mesh Discovery scan session (timestamp, presets scanned, home preset) |
- `DiscoveryPresetResultEntity` | Per-preset result within a discovery session |
- `DiscoveredNodeEntity` | Nodes found during a discovery preset scan |
- `DeviceLinkEntity` | Cached `msh.to` device links from the Meshtastic API |
-
-> 💡 **Note:** Waypoints, telemetry, and channel data are stored within the `Packet` entity (using the `port_num` field to distinguish packet types) rather than in separate tables.
-
-## DataStore Preferences
-
-**Module:** `core:datastore`
-
-For lightweight key-value preferences:
-- Local radio configuration (LocalConfig proto)
-- Module configuration (ModuleConfig proto)
-- Channel set data
-- Local statistics
-- Recently connected device addresses
-
-## Core Prefs
-
-**Module:** `core:prefs`
-
-Higher-level preferences abstraction:
-- User-facing settings
-- App behavior configuration
-- Feature toggles
-
-## What Docs Intentionally Skip
-
-The `feature:docs` module uses **no** Room or persistent database. Documentation ships as build-time assets versioned with the app binary, so it stays fully offline, is replaced on each update, and needs no migration story. Optional UX state (e.g. last viewed page) could live in `core:prefs` but isn't part of the docs data model.
-
-## Best Practices
-
-- Use Room for structured, queryable data that changes at runtime
-- Use DataStore for simple preferences and state
-- Use bundled resources/assets for static content
-- Never store sensitive data (keys, passwords) in plain Room tables
-- Always provide migrations for schema changes
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/testing.html b/v2.8.0/docs/developer/testing.html deleted file mode 100644 index 44c9bb4402..0000000000 --- a/v2.8.0/docs/developer/testing.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - Testing - - - -
# Testing
-
-Testing strategy and practices for the Meshtastic KMP project.
-
-## Test Categories
-
-### KMP Unit Tests (`commonTest`)
-
-Shared tests that run on all platforms:
-
-```bash
-./gradlew allTests
-```
-
-- Business logic tests
-- Data model validation
-- Search/ranking algorithm tests
-- Route serialization tests
-
-### Android Host Tests
-
-Android-specific tests that run on JVM:
-
-```bash
-./gradlew test
-```
-
-- ViewModel tests
-- Repository tests with Room fakes
-- Android-specific integration tests
-
-### Compose UI Tests
-
-Compose Multiplatform UI test framework:
-
-```kotlin
-@Test
-fun myScreenTest() = runComposeUiTest {
-    setContent { MyScreen() }
-    onNodeWithText("Expected").assertIsDisplayed()
-}
-```
-
-Located in `commonTest` or `jvmTest` source sets.
-
-### Screenshot Tests
-
-Uses Android Gradle Plugin's native (layoutlib) screenshot testing framework, split across two modules:
-
-- **`:screenshot-tests`** — the **visual-regression gate**. CI runs `validateDebugScreenshotTest` on it; reframing one of these baselines is a real diff to review. Holds atomic, dual-purpose components.
-- **`:docs-screenshots`** — **generate-only**, *not* validated in CI. Holds doc-framed compositions whose framing is tuned for the docs site, so reframing a doc image never churns the regression gate.
-
-```bash
-./gradlew :screenshot-tests:updateDebugScreenshotTest    # record regression goldens
-./gradlew :screenshot-tests:validateDebugScreenshotTest  # compare against goldens (CI gate)
-./gradlew :docs-screenshots:updateDebugScreenshotTest    # record doc-framed composition images
-./gradlew :screenshot-tests:copyDocsScreenshots          # copy doc images from BOTH modules into docs/assets
-```
-
-Rendering is host-deterministic here (layoutlib): a local `update` produces references byte-identical to CI, so locally-recorded goldens pass `validate`. See `docs/assets/screenshots/README.md` for which module a new screenshot belongs in.
-
-### Baseline Profile / Startup Performance
-
-The `:baselineprofile` module (#5735) generates a [Baseline Profile](https://developer.android.com/topic/performance/baselineprofiles/overview) for `:androidApp`, AOT-compiling the hot startup paths so ART doesn't pay the JIT cost on first launch. It targets the **google** flavor (the variant most users run).
-
-The Macrobenchmark generator (`BaselineProfileGenerator`) and the before/after benchmark (`StartupBenchmark`) live in `baselineprofile/src/main/kotlin/org/meshtastic/baselineprofile/`. Both run on a device/emulator:
-
-```bash
-./gradlew :androidApp:generateGoogleReleaseBaselineProfile   # Generate the profile (commit the output)
-./gradlew :androidApp:benchmarkGoogleReleaseBaselineProfile  # Quantify the cold-start win
-```
-
-The generated profile is merged into `androidApp/src/googleRelease/generated/baselineProfiles/` and packaged into release builds via `androidx.profileinstaller`.
-
-> ⚠️ **Warning:** The journey currently covers cold start only (launch → first frame), because CI has no paired radio. Post-connection screens (node list, map, message thread) are not yet AOT-compiled; extend the journey once a fake transport or connected device is wired into the harness.
-
-## Test Organization
-
-```
-feature/my-feature/src/
-├── commonTest/kotlin/org/meshtastic/feature/myfeature/
-│   ├── MyBusinessLogicTest.kt
-│   └── MyModelTest.kt
-└── jvmTest/kotlin/org/meshtastic/feature/myfeature/
-    └── MyDesktopSpecificTest.kt
-```
-
-## Testing Guidelines
-
-### DO
-
-- Write tests in `commonTest` when possible (runs everywhere)
-- Test business logic independently from UI
-- Use fakes/stubs instead of mocks where practical
-- Test edge cases: empty states, error states, boundary values
-- Test deep link routing in `DeepLinkRouterTest`
-- Keep tests fast — no network, no disk I/O in unit tests
-
-### DON'T
-
-- Don't test framework behavior (Compose internals, Room queries)
-- Don't create tests that depend on other feature modules
-- Don't use `Thread.sleep` — use coroutine test dispatchers
-- Don't rely on test execution order
-
-## Running Tests
-
-```bash
-# All KMP tests
-./gradlew allTests
-
-# Specific module
-./gradlew :feature:docs:allTests
-
-# Code quality
-./gradlew spotlessCheck detekt
-
-# Full verification
-./gradlew spotlessCheck detekt kmpSmokeCompile test allTests
-```
-
-## CI Integration
-
-Tests run automatically on:
-- Pull request creation/update
-- Push to `main`
-- Pre-release validation
-
-CI runs on GitHub-hosted Ubuntu 24.04 runners (most jobs use the `ubuntu-24.04-arm` ARM runners, a few use `ubuntu-24.04`) with JDK 25 and Gradle caching.
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/developer/transport.html b/v2.8.0/docs/developer/transport.html deleted file mode 100644 index 4a01daaf62..0000000000 --- a/v2.8.0/docs/developer/transport.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Transport - - - -
# Transport
-
-Meshtastic communicates between the app and radio hardware through multiple transport mechanisms.
-
-## Transport Abstraction
-
-The transport layer is abstracted through interfaces defined in `core:repository` (`RadioTransport`, `RadioTransportFactory`, `RadioInterfaceService`), with the concrete transports implemented in `core:network` (`BleRadioTransport`, TCP, mock/replay) and `core:ble`. This lets the app work identically regardless of the underlying connection type.
-
-```
-App ← RadioController → Transport (BLE | Serial | TCP)
-```
-
-## Bluetooth Low Energy (BLE)
-
-**Module:** `core:ble`  
-**Platforms:** Android, Desktop (JVM via Kable), iOS (planned)
-
-The primary transport for mobile devices and also available on desktop:
-- Service discovery for Meshtastic GATT services
-- Characteristic-based read/write for protobuf packets
-- Connection state management and automatic reconnection
-- MTU negotiation for optimal packet sizes
-
-### Key Classes
-
-- `core/ble/` — BLE scanning, connection, and GATT operations
-- Platform-specific implementations in `androidMain` and `jvmMain` (Kable)
-
-## USB Serial
-
-**Module:** `core:network`  
-**Platforms:** Android (OTG), Desktop
-
-Serial communication over USB:
-- Uses `usb-serial-for-android` library on Android
-- Direct serial port access on Desktop (JVM)
-- Probe table for supported USB vendor/product IDs
-- Automatic detection when USB device is connected
-
-### Key Classes
-
-- Serial prober and transport factory in `core/network`
-- Desktop-specific serial in `desktopApp/src/main/kotlin/.../radio/`
-
-## TCP/IP
-
-**Module:** `core:network`  
-**Platforms:** Android, Desktop (iOS: code compiles, but there's no iOS app target or `RadioTransportFactory` yet — see Transport Factory below)
-
-Network-based transport for WiFi-enabled radios:
-- TCP socket connection to radio's IP address
-- Default port: 4403
-- Used for development with simulated radios
-- Available when BLE/USB is impractical
-
-## Transport Factory
-
-The `RadioTransportFactory` interface abstracts transport creation:
-
-```kotlin
-interface RadioTransportFactory {
-    val supportedDeviceTypes: List<DeviceType>
-    fun createTransport(address: String, service: RadioInterfaceService): RadioTransport
-    fun isMockTransport(): Boolean
-    fun isAddressValid(address: String?): Boolean
-    fun toInterfaceAddress(interfaceId: InterfaceId, rest: String): String
-}
-```
-
-Platform-specific implementations:
-- **Android:** Supports BLE + USB + TCP
-- **Desktop:** Supports BLE (Kable) + USB + TCP
-- **iOS:** Planned BLE + TCP
-
-## Connection Lifecycle
-
-1. **Discovery** — Scan for available radios (BLE scan / USB detect / manual TCP)
-2. **Connection** — Establish link to selected radio
-3. **Handshake** — Exchange node info and configuration
-4. **Active** — Normal message exchange
-5. **Disconnection** — Clean teardown or error recovery
-
-## Adding a New Transport
-
-1. Implement `RadioTransport` interface
-2. Register in platform-specific `RadioTransportFactory`
-3. Add connection UI in `feature:connections`
-4. Update DI bindings for the platform
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/android-auto.html b/v2.8.0/docs/el-rGR/user/android-auto.html deleted file mode 100644 index 782602e3b1..0000000000 --- a/v2.8.0/docs/el-rGR/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Μηνύματα
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/app-functions.html b/v2.8.0/docs/el-rGR/user/app-functions.html deleted file mode 100644 index 69714f1adc..0000000000 --- a/v2.8.0/docs/el-rGR/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/connections.html b/v2.8.0/docs/el-rGR/user/connections.html deleted file mode 100644 index 80e1986837..0000000000 --- a/v2.8.0/docs/el-rGR/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Περιγραφή                     |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Αποσυνδεδεμένο | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/debug-logs.html b/v2.8.0/docs/el-rGR/user/debug-logs.html deleted file mode 100644 index ff00df609a..0000000000 --- a/v2.8.0/docs/el-rGR/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/desktop.html b/v2.8.0/docs/el-rGR/user/desktop.html deleted file mode 100644 index c068907889..0000000000 --- a/v2.8.0/docs/el-rGR/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Χάρτης                                       | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Ρυθμίσεις                                    | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/discovery.html b/v2.8.0/docs/el-rGR/user/discovery.html deleted file mode 100644 index 3ba4901668..0000000000 --- a/v2.8.0/docs/el-rGR/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/firmware.html b/v2.8.0/docs/el-rGR/user/firmware.html deleted file mode 100644 index 03622b1ee6..0000000000 --- a/v2.8.0/docs/el-rGR/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Κανάλι     | Περιγραφή                                                                  |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/help-and-docs.html b/v2.8.0/docs/el-rGR/user/help-and-docs.html deleted file mode 100644 index 8880f1d4fe..0000000000 --- a/v2.8.0/docs/el-rGR/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/map-and-waypoints.html b/v2.8.0/docs/el-rGR/user/map-and-waypoints.html deleted file mode 100644 index 57d5cd2bbf..0000000000 --- a/v2.8.0/docs/el-rGR/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Περιγραφή                                               |
- ---------- | ------------------------------------------------------- |
- Ονομα      | Short identifier (max 29 characters) |
- Περιγραφή  | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Κλειδωμένο | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/messages-and-channels.html b/v2.8.0/docs/el-rGR/user/messages-and-channels.html deleted file mode 100644 index 78efb3b3c6..0000000000 --- a/v2.8.0/docs/el-rGR/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Κανάλια
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Περιγραφή                                                                                                                              |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Σφάλμα                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Σφάλμα              | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Λήξη χρονικού ορίου | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- No Interface        | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Kein Kanal          | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response         | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Εσφαλμένο Αίτημα    | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/mqtt.html b/v2.8.0/docs/el-rGR/user/mqtt.html deleted file mode 100644 index e872f87f07..0000000000 --- a/v2.8.0/docs/el-rGR/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting           | Περιγραφή                                                                                     | Default                                             |
- ----------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address    | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Όνομα χρήστη      | Broker authentication                                                                         | meshdev                                             |
- Κωδικός πρόσβασης | Broker authentication                                                                         | large4cats                                          |
- Root Topic        | Base topic for messages                                                                       | msh                                                 |
- Encryption        | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS               | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting     | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Περιγραφή                        |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Περιγραφή                           | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/node-metrics.html b/v2.8.0/docs/el-rGR/user/node-metrics.html deleted file mode 100644 index 06b4aed4a3..0000000000 --- a/v2.8.0/docs/el-rGR/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Περιγραφή                           |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Τάση                | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Θερμοκρασία                          | BME280, BME680, SHT31 |
- Υγρασία                              | BME280, BME680, SHT31 |
- Βαρομετρική Πίεση                    | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Περιγραφή                                                                                                                                                                                                                  |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Πράσινο  |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Κόκκινο  |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Περιγραφή                                                                      |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- None    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Περιγραφή               |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Αρχείο Καταγραφής Τοποθεσίας
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/nodes.html b/v2.8.0/docs/el-rGR/user/nodes.html deleted file mode 100644 index ed865b0ef8..0000000000 --- a/v2.8.0/docs/el-rGR/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Περιγραφή                                                                                                                                              |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Πελάτης Βάση                     | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Φίλτρο                     | Περιγραφή                                                                            |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Περιγραφή                                                          |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Last heard     | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Απόσταση       | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/onboarding.html b/v2.8.0/docs/el-rGR/user/onboarding.html deleted file mode 100644 index f89f89ccfe..0000000000 --- a/v2.8.0/docs/el-rGR/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/settings-module-admin.html b/v2.8.0/docs/el-rGR/user/settings-module-admin.html deleted file mode 100644 index 0acda9ac05..0000000000 --- a/v2.8.0/docs/el-rGR/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting           | Περιγραφή                                                                |
- ----------------- | ------------------------------------------------------------------------ |
- Enabled           | Toggle MQTT bridge                                                       |
- Server            | MQTT broker address                                                      |
- Όνομα χρήστη      | Authentication username                                                  |
- Κωδικός πρόσβασης | Authentication password                                                  |
- Encryption        | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS               | Use secure connection                                                    |
- Root Topic        | Base MQTT topic path                                                     |
- Map Report        | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Περιγραφή                       |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Περιγραφή                   |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Περιγραφή                                                                                                                                        |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Περιγραφή                         |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Περιγραφή                               |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Περιγραφή                                                   |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Μηνύματα           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Περιγραφή                        |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Περιγραφή                                                       |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Περιγραφή                                                                                                                            |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Περιγραφή                                                  |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Περιγραφή                                                                                                                               |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Περιγραφή                  |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Διαχείριση
-
-### Απομακρυσμένη Διαχείριση
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Επανεκκίνηση
-
-Remotely reboot a connected or administered node.
-
-### Πίνακας αποσφαλμάτωσης
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/settings-radio-user.html b/v2.8.0/docs/el-rGR/user/settings-radio-user.html deleted file mode 100644 index 072cccd287..0000000000 --- a/v2.8.0/docs/el-rGR/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Περιγραφή                                                                             |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Περιγραφή                                                               | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Περιγραφή                                                               | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Περιφέρεια        | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Περιγραφή                                                                            |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Περιγραφή                          |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Περιγραφή                               |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Περιγραφή                                            |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Ρυθμίσεις Bluetooth
-
- Setting           | Περιγραφή                                                                 |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Περιγραφή                                                                                                                                                                                                      |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Δημόσιο Κλειδί            | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Ιδιωτικό Κλειδί           | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/signal-meter.html b/v2.8.0/docs/el-rGR/user/signal-meter.html deleted file mode 100644 index 63ab549a48..0000000000 --- a/v2.8.0/docs/el-rGR/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- None  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/tak.html b/v2.8.0/docs/el-rGR/user/tak.html deleted file mode 100644 index 68f8ea64d3..0000000000 --- a/v2.8.0/docs/el-rGR/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Περιγραφή                  |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Περιγραφή                                                                                                                                                                                                                                                                           |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Περιγραφή                                                                                                        |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/telemetry-and-sensors.html b/v2.8.0/docs/el-rGR/user/telemetry-and-sensors.html deleted file mode 100644 index 318e7d532c..0000000000 --- a/v2.8.0/docs/el-rGR/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Περιγραφή                      | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Τάση                | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Θερμοκρασία | Υγρασία | Pressure | Notes                   |
- ------- | ----------- | ------- | -------- | ----------------------- |
- BME280  | ✓           | ✓       | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓       | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓       | —        | High accuracy           |
- MCP9808 | ✓           | —       | —        | Precision temperature   |
- LPS22   | —           | —       | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Περιγραφή                                 |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Περιγραφή                    |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/translate.html b/v2.8.0/docs/el-rGR/user/translate.html deleted file mode 100644 index ee95c4afe0..0000000000 --- a/v2.8.0/docs/el-rGR/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/units-and-locale.html b/v2.8.0/docs/el-rGR/user/units-and-locale.html deleted file mode 100644 index ddd8bd1634..0000000000 --- a/v2.8.0/docs/el-rGR/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Θερμοκρασία
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/el-rGR/user/widget.html b/v2.8.0/docs/el-rGR/user/widget.html deleted file mode 100644 index b21ad9d04e..0000000000 --- a/v2.8.0/docs/el-rGR/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/android-auto.html b/v2.8.0/docs/es-rES/user/android-auto.html deleted file mode 100644 index df82545aa8..0000000000 --- a/v2.8.0/docs/es-rES/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Visión general
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Mensajes
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodos
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/app-functions.html b/v2.8.0/docs/es-rES/user/app-functions.html deleted file mode 100644 index 2239213973..0000000000 --- a/v2.8.0/docs/es-rES/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/connections.html b/v2.8.0/docs/es-rES/user/connections.html deleted file mode 100644 index 2b92a53f15..0000000000 --- a/v2.8.0/docs/es-rES/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Conexiones - - - -
# Conexiones
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Descripción                   |
- ---- | -------------- | ----------------------------- |
- 🟢   | Conectado      | Active radio link established |
- 🟡   | Conectando     | Handshake in progress         |
- 🔴   | Desconectado   | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/debug-logs.html b/v2.8.0/docs/es-rES/user/debug-logs.html deleted file mode 100644 index 69a0dcdfb2..0000000000 --- a/v2.8.0/docs/es-rES/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/desktop.html b/v2.8.0/docs/es-rES/user/desktop.html deleted file mode 100644 index 270e5c1b65..0000000000 --- a/v2.8.0/docs/es-rES/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notas                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mapa                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Ajustes                                      | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Actualización de firmware                    | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/discovery.html b/v2.8.0/docs/es-rES/user/discovery.html deleted file mode 100644 index fa50a35d00..0000000000 --- a/v2.8.0/docs/es-rES/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Métrico                                  | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/firmware.html b/v2.8.0/docs/es-rES/user/firmware.html deleted file mode 100644 index 9f82be763d..0000000000 --- a/v2.8.0/docs/es-rES/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canal      | Descripción                                                                |
- ---------- | -------------------------------------------------------------------------- |
- Estable    | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/help-and-docs.html b/v2.8.0/docs/es-rES/user/help-and-docs.html deleted file mode 100644 index 81de52c49e..0000000000 --- a/v2.8.0/docs/es-rES/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/map-and-waypoints.html b/v2.8.0/docs/es-rES/user/map-and-waypoints.html deleted file mode 100644 index a3b8264e31..0000000000 --- a/v2.8.0/docs/es-rES/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Descripción                                             |
- ----------- | ------------------------------------------------------- |
- Nombre      | Short identifier (max 29 characters) |
- Descripción | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Bloqueado   | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Capas del mapa
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/messages-and-channels.html b/v2.8.0/docs/es-rES/user/messages-and-channels.html deleted file mode 100644 index d01b4310a3..0000000000 --- a/v2.8.0/docs/es-rES/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Canales
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Seguridad del canal
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descripción                                                                                                                            |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Error                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Error             | Meaning                                  | What to Do                                                                                                                                                                  |
- ----------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route          | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK           | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Tiempo agotado    | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Sin interfaz      | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit    | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- No hay canal      | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large         | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response       | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit  | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Solicitud errónea | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tipo          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/mqtt.html b/v2.8.0/docs/es-rES/user/mqtt.html deleted file mode 100644 index 0731d0ad88..0000000000 --- a/v2.8.0/docs/es-rES/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Visión general
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuración
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Descripción                                                                                   | Por defecto                                         |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Usuario         | Broker authentication                                                                         | meshdev                                             |
- Contraseña      | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Cifrado         | Encrypt MQTT payload                                                                          | Habilitado                                          |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descripción                      |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descripción                         | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/node-metrics.html b/v2.8.0/docs/es-rES/user/node-metrics.html deleted file mode 100644 index 46137532cf..0000000000 --- a/v2.8.0/docs/es-rES/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Métricas de Dispositivo
-
-Basic operating information reported by each node:
-
- Métrico               | Descripción                         |
- --------------------- | ----------------------------------- |
- Battery Level         | Current battery percentage          |
- Tensión               | Battery voltage reading             |
- Utilización del canal | Percentage of airtime consumed      |
- Airtime               | Transmission time used by this node |
- Tiempo encendido      | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Métricas de Entorno
-
-Environmental sensor data (requires compatible hardware):
-
- Métrico                              | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura:         | BME280, BME680, SHT31 |
- Humedad                              | BME280, BME680, SHT31 |
- Presión Barométrica                  | BME280, BMP280        |
- Resistencia del Gas                  | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Métrico               | Unit      | Descripción                                                                                                                                                                                                                |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Bien     | < 1000    | Verde    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Rojo     |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Métrico     | Descripción                                                                    |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality   | Criteria                                                         |
- --------- | ---------------------------------------------------------------- |
- Bien      | SNR above the preset's limit                                     |
- Aceptable | less than 5.5 dB below the limit                 |
- Mal       | 5.5 dB to 7.5 dB below the limit |
- Ninguna   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Métricas de Energía
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Métrico     | Descripción             |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Intensidad  | Power draw in milliamps |
- Consumo     | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Registro de Posiciones
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitud
-- Speed (if moving)
-- Timestamp for each position report
-
-## Información de Vecinos
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/nodes.html b/v2.8.0/docs/es-rES/user/nodes.html deleted file mode 100644 index f927fd7f96..0000000000 --- a/v2.8.0/docs/es-rES/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodos - - - -
# Nodos
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Rol                              | Descripción                                                                                                                                            |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Cliente                          | Standard end-user device                                                                                                                               |
- Base cliente                     | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Cliente silenciado               | Receives but doesn't retransmit                                                                                                                        |
- Cliente oculto                   | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Rastreador                       | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- Rastreador TAK                   | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtro                     | Descripción                                                                          |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descripción                                                        |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Última escucha | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distancia      | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/onboarding.html b/v2.8.0/docs/es-rES/user/onboarding.html deleted file mode 100644 index 4d9817e206..0000000000 --- a/v2.8.0/docs/es-rES/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Primeros Pasos - - - -
# Primeros Pasos
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/settings-module-admin.html b/v2.8.0/docs/es-rES/user/settings-module-admin.html deleted file mode 100644 index 3f2bdee5c0..0000000000 --- a/v2.8.0/docs/es-rES/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Descripción                                                              |
- --------------- | ------------------------------------------------------------------------ |
- Habilitado      | Toggle MQTT bridge                                                       |
- Servidor        | MQTT broker address                                                      |
- Usuario         | Authentication username                                                  |
- Contraseña      | Authentication password                                                  |
- Cifrado         | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Descripción                     |
- ---------- | ------------------------------- |
- Habilitado | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Descripción                 |
- -------------------------------- | --------------------------- |
- Habilitado                       | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Descripción                                                                                                                                      |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Habilitado                                 | Activate store and forward                                                                                                                       |
- Pulso de vida                              | Periodically announce this node's store-and-forward capability                                                                                   |
- Registros                                  | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Servidor                                   | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Descripción                       |
- -------------------------------------- | --------------------------------- |
- Habilitado                             | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Descripción                             |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Descripción                                                 |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Mensajes           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Descripción                      |
- --------------- | -------------------------------- |
- Habilitado      | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Descripción                                                     |
- -------------------- | --------------------------------------------------------------- |
- Habilitado           | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Descripción                                                                                                                          |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Habilitado                             | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Descripción                                                |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Intensidad         | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Descripción                                                                                                                             |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Habilitado                               | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Descripción                |
- -------------------------------------- | -------------------------- |
- Habilitado                             | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administración
-
-### Administración remota
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Limpiar nodos de la base de datos
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reiniciar
-
-Remotely reboot a connected or administered node.
-
-### Panel de depuración
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/settings-radio-user.html b/v2.8.0/docs/es-rES/user/settings-radio-user.html deleted file mode 100644 index 877571b3f5..0000000000 --- a/v2.8.0/docs/es-rES/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Descripción                                                                           |
- ----------------- | ------------------------------------------------------------------------------------- |
- Nombre largo      | Your display name (up to 39 characters)                            |
- Nombre Corto      | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuración
-
-### Configuración del dispositivo
-
- Setting                                    | Descripción                                                             | Por defecto |
- ------------------------------------------ | ----------------------------------------------------------------------- | ----------- |
- Rol                                        | Node behavior (Client, Router, etc.) | Cliente     |
- Modo de retransmisión                      | How the node retransmits messages                                       | Todos       |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800       |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled    |
-
-### Configuración LoRa
-
- Setting                      | Descripción                                                             | Por defecto                               |
- ---------------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Región                       | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem predefinido            | Speed/range tradeoff                                                    | LongFast                                  |
- Límite de Saltos             | Maximum retransmit hops                                                 | 3                                         |
- TX Power                     | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Desplazamiento de frecuencia | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth            | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Velocidad                 | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Configuración de pantalla
-
- Setting                         | Descripción                                                                          |
- ------------------------------- | ------------------------------------------------------------------------------------ |
- Tiempo de espera de la pantalla | Time before display sleeps                                                           |
- Unidades de medidas             | Metric or Imperial                                                                   |
- Tipo de OLED                    | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation             | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~               | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Configuración de la posición
-
- Setting                                   | Descripción                        |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- Intervalo de actualización GPS            | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Ubicación inteligente                     | Enable movement-based broadcasting |
- Posición fija                             | Use a manually set position        |
-
-### Configuración de elecenergía
-
- Setting                                 | Descripción                             |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Configuración de la red
-
- Setting       | Descripción                                          |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Contraseña de red                                    |
- Servidor NTP  | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Configuración Bluetooth
-
- Setting           | Descripción                                                               |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Pin fijo          | PIN code for pairing (default: 123456) |
-
-### Configuración de la seguridad
-
- Setting                           | Descripción                                                                                                                                                                                                    |
- --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Clave Pública                     | Your node's public key (read-only)                                                                                                                                                          |
- Contraseña de administrador       | Key for remote administration                                                                                                                                                                                  |
- Clave privada                     | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~         | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                         | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled                    | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Modo "ya terminado de configurar" | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys                       | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys                      | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup                 | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level                  | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/signal-meter.html b/v2.8.0/docs/es-rES/user/signal-meter.html deleted file mode 100644 index a80de46e4d..0000000000 --- a/v2.8.0/docs/es-rES/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bien      | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Aceptable | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Mal       | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Ninguna   | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/tak.html b/v2.8.0/docs/es-rES/user/tak.html deleted file mode 100644 index 363d83c825..0000000000 --- a/v2.8.0/docs/es-rES/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Visión general
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuración
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting    | Descripción                |
- ---------- | -------------------------- |
- Habilitado | Activate TAK interop       |
- Mode       | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Rol             | Descripción                                                                                                                                                                                                                                                                         |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Descripción                                                                                                      |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/telemetry-and-sensors.html b/v2.8.0/docs/es-rES/user/telemetry-and-sensors.html deleted file mode 100644 index 57a2b884d0..0000000000 --- a/v2.8.0/docs/es-rES/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Visión general
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Métrico               | Descripción                    | Typical Range                                                      |
- --------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level         | Charge percentage              | 0–100%                                                             |
- Tensión               | Battery voltage                | 3.0–4.2V (LiPo) |
- Utilización del canal | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX    | % of airtime used by this node | 0–100%                                                             |
- Tiempo encendido      | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatura: | Humedad | Presión | Notas                   |
- ------- | ---------------------------- | ------- | ------- | ----------------------- |
- BME280  | ✓                            | ✓       | ✓       | Recommended all-in-one  |
- BME680  | ✓                            | ✓       | ✓       | Adds gas resistance/IAQ |
- SHT31   | ✓                            | ✓       | —       | High accuracy           |
- MCP9808 | ✓                            | —       | —       | Precision temperature   |
- LPS22   | —                            | —       | ✓       | Pressure only           |
-
-### Air Quality
-
- Sensor   | Métrico                                            | Notas                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Métrico                                |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Métricas de Energía
-
-Nodes with INA-series power sensors can report:
-
- Métrico     | Descripción                               |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Intensidad  | Power consumption (mA) |
- Consumo     | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Métrico               | Unit  | Descripción                  |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/translate.html b/v2.8.0/docs/es-rES/user/translate.html deleted file mode 100644 index 43eaf1ce7d..0000000000 --- a/v2.8.0/docs/es-rES/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/units-and-locale.html b/v2.8.0/docs/es-rES/user/units-and-locale.html deleted file mode 100644 index 55838f0f22..0000000000 --- a/v2.8.0/docs/es-rES/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura:
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitud  |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Métrico                          | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Velocidad
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Métrico                          | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Viento
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Métrico                          | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Métrico                          | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiación                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/es-rES/user/widget.html b/v2.8.0/docs/es-rES/user/widget.html deleted file mode 100644 index 65a338571a..0000000000 --- a/v2.8.0/docs/es-rES/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/android-auto.html b/v2.8.0/docs/et-rEE/user/android-auto.html deleted file mode 100644 index 37a1a3354e..0000000000 --- a/v2.8.0/docs/et-rEE/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android auto - - - -
# Android auto
-
-Meshtastic integreerub Android Autoga, nii et saad sõidu ajal oma kärgvõrguga ühenduses püsida ilma käsi roolilt või pilku teelt tõstmata.
-
-> ⚠️ **Märkus:** Android Auto tugi on saadaval ainult **Google'i-tüüpi Androidi versioonides**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **Mis on täna saadaval:** Google Play versioon pakub **ainult teavitused** autosõnumeid – sissetulevad sõnumid antakse teada peakomplektis ja saate vastata teavitusnuppude kaudu. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-Kui telefon on ühendatud Android Auto peakomplektiga (või arenduses kasutatava töölaua peakomplekti emulaatoriga), esitleb beetaversioon Meshtasticut Android Car App Library abil loodud sõnumsiderakendusena, millel on vahekaartidega avakuva, mis on optimeeritud sõiduohutuks ja hõlpsasti kasutatavaks:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. See kasutab Meshtastici rakenduse olemasolevat ühendust, sõlme ja sõnumi olekut, seega kajastab see seda, millega telefon on juba ühendatud.
-
-> ⚠️ **Märkus:** Autorakenduse reaalajas andmete kuvamiseks peab telefon olema ühendatud Meshtastic raadioga. Kui rakendus on lahti ühendatud, kajastab auto ekraan lahti ühendatud olekut.
-
-## Sõnumid
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Sõlmed
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Sõlme valimine avab sõlme detailvaate, kus on selle sõlme kohta põhiteave. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Sõnumid ja kanalid](user/messages-and-channels) - täielikud sõnumsidefunktsioonid sinu telefonis
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/app-functions.html b/v2.8.0/docs/et-rEE/user/app-functions.html deleted file mode 100644 index 51f66fefef..0000000000 --- a/v2.8.0/docs/et-rEE/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-Rakendusfunktsioonid avaldavad Meshtasticu võimalused Androidi süsteemile ja seadmesisestele TI assistentidele (näiteks Gemini) Androidi rakenduste funktsioonide API kaudu. Kui need on lubatud, saab assistent sinu eest kärgvõrgu töövooge avastada ja käivitada – näiteks sõnumi saata või kärgvõrgu olekut kontrollida – ilma, et peaksid rakendust avama.
-
-> ⚠️ **Märkus:** Rakenduse funktsioonid on saadaval ainult **Google'i-tüüpi Androidi versioonides**.
-
-> ⚠️ **Märkus:** See on eraldi rakenduse sisesest **Chirpy** assistendist. Rakenduse funktsioonid lasevad _süsteemi_ TI assistendil kärgvõrgu kallal tegutseda; Chirpy on vestlusassistent Meshtasticu rakenduses endas.
-
-## Enabling App Functions
-
-Rakenduse funktsioone saab juhtida menüüst **Seaded → Süsteemi TI** (rakenduse sisemine ekraan on tähistatud kui „Süsteemi TI“). The screen has:
-
-- **Pealüliti** sildiga **"Luba tehisintellektile juurdepääs"** alapealkirjaga _"Luba süsteemi TI assistentidel (nt Gemini) kärgvõrgu funktsioone avastada ja kasutada"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                |
- ---------------- | ----------------------------------------------------------------------------------------------------------- |
- **Send Message** | Saadab kontaktile (otsesõnum) või kanalile tekstisõnumi, kuni 237 baiti. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Saa kanali info**     | Teave kanalite kohta.                       |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privaatsus:** Funktsioon **Saada sõnum** võimaldab assistendil sinu nimel sinu kärgvõrku sõnumeid saata. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Igal funktsioonil on oma lüliti ja peamine lüliti lülitab need kõik korraga välja.
-
-## Related Topics
-
-- [Sõnumid ja kanalid](user/messages-and-channels)— sõnumite saatmine otse rakenduses
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/connections.html b/v2.8.0/docs/et-rEE/user/connections.html deleted file mode 100644 index e9cc70e923..0000000000 --- a/v2.8.0/docs/et-rEE/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Ühendus - - - -
# Ühendus
-
-Meshtastic toetab mitut transpordimeetodit telefoni/arvuti ja raadiosõlme vaheliseks suhtluseks.
-
-## Sinihammas (BLE)
-
-Sinihamba madal voolutarve on Androidi vaike- ja levinuim ühendusviis.
-
-### Seadme sidumine
-
-1. Veendu, et Meshtastic seade on sisse lülitatud ja sidumisrežiimis.
-2. Ava rakendus ja navigeeri vahekaardile **Ühendused**.
-3. Puuduta valikut **Otsi sinihamba seadmeid** – kuvatakse lähedalasuvad Meshtasticu raadiod.
-4. Select your device from the list.
-5. Nõustu Bluetoothi ​​sidumise taotlusega, kui see kuvatakse.
-
-![Sinihamba seadmete otsimine, leitud raadio on loendis](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Sinihamba, võrgu ja USB-transpordi vahel vahetamiseks (üks on korraga aktiivne) kasutage transpordivalijat – ühenduskaardi all asuvat segmenteeritud nuppude rida:
-
-![Transpordi valik](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Vihje:** Kui sinu seadet ei kuvata, kontrolli, kas sinihamba ​​ja asukoha load on antud ning et raadio poleks juba teise seadmega ühendatud.
-
-### Connection Status
-
- Icon | Olek             | Kirjeldus                  |
- ---- | ---------------- | -------------------------- |
- 🟢   | Ühendatud        | Aktiivne raadioside loodud |
- 🟡   | Ühendan          | Kätlemine on pooleli       |
- 🔴   | Ühendus katkenud | No active connection       |
- ⚪    | Pole seadistatud | Seadet pole valitud        |
-
-Ühenduse loomisel näitab olekuindikaator ühenduse praegust olekut:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-Kui seadmeid ei leita, kuvab rakendus tühja oleku koos juhistega:
-
-![Ühtegi seadet ei leitud](../../assets/screenshots/connections_empty_state.png)
-
-### Sinihamba veaotsing
-
-- **Seadet ei leitud:** Lülita sinihammas sisse/välja ja veendu, et asukoha määramine on lubatud.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Sidumine tagasi lükatud:** Unusta seade Androidi sinihamba ​​seadetes ja proovi uuesti.
-
-## USB port
-
-USB ühendused pakuvad juhtmega alternatiivi, mis on kasulik lauaarvutite puhul või kui sinihammas pole saadaval.
-
-### Seadistamine
-
-1. Connect your radio via USB cable to your device.
-2. Rakendus küsib USB luba – puuduta **Luba**.
-3. The connection is established automatically.
-
-> ⚠️ **Märkus:** USB ühenduste jaoks on Android-seadmetes vaja OTG tuge.
-
-## TCP/IP (võrk)
-
-Mõned Meshtastic raadiod toetavad WiFi/Etherneti ühendust, võimaldades TCP-põhiseid ühendusi kohaliku võrgu kaudu. Ühenda raadio esmalt oma võrku – kasutades raadio enda WiFi-seadeid (püsivara veebiliidese või muu ühenduse kaudu) – ja seejärel loo ühendus rakenduse kaudu.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. Valige ühenduse loomise ekraanil transpordivalikus **Võrk**.
-3. Choose the radio one of two ways:
-   - **Võrguseadmete otsimine** – lülita see sisse, et automaatselt avastada raadioid, mis reklaamivad end kohalikus võrgus (mDNS / `_meshtastic._tcp`). Leitud seadmed kuvatakse loendis; ühenduse loomiseks puuduta neist ühte.
-   - **Lisa seade käsitsi…** — Sisesta raadio IP-aadress (või hostinimi) ja port (vaikimisi: 4403).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Vihje:** Võrgu tuvastamine kasutab mDNS-i, mis töötab ainult siis, kui mõlemad seadmed on samas alamvõrgus. Android 17+ puhul vajab rakendus skanniks kohaliku võrgu luba; kui otsing ei leia midagi, lisa seade käsitsi IP-aadressi järgi.
-
-### Millal kasutada TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Asukohad kus sinihambal on häireid
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. Transporti saab ühenduskuvalt igal ajal vahetada.
-
-Ühenduse katkestamiseks puuduta ühenduse loomise ekraanil katkestamise nuppu:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Sinihammas (BLE)** — Kable'i teegi kaudu; töötab macOS-is, Linuxis ja Windowsis
-- **USB port** – peamine juhtmega ühendusmeetod
-- **TCP/IP** – võrguühendusega raadiote jaoks
-
-Platvormipõhiste üksikasjade ja kiirklahvide kohta vaata [Töölauarakendus] (desktop).
-
-## Related Topics
-
-- [Alustamine](onboarding) — esmakäivituse seadistamine ja load
-- [Seaded — Raadio ja kasutaja](settings-radio-user) — sinihamba ​​ja võrgu seadistus
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/debug-logs.html b/v2.8.0/docs/et-rEE/user/debug-logs.html deleted file mode 100644 index ddd4d8ae80..0000000000 --- a/v2.8.0/docs/et-rEE/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Arendaja logid - - - -
# Arendaja logid
-
-Kui midagi töötab valesti, on rakenduse arendajalogid kõige kasulikum asi, mida saad veateatele lisada. Meshtastic saab need **sinu eest, rakenduse seest** jäädvustada – sa ei vaja enam nende kogumiseks `adb`-d ega muid töölaua tööriistu.
-
-Ava **Arendajapaneel**, valides **Seaded → Täpsemad → Arendajapaneel**.
-
-> 📎 **Esitad probleemi?** Eksporti oma logid (vt allpool) ja lisa `.txt`-fail oma aruandele aadressil [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-Arendajapaneelil on kaks vahekaarti:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Tasemefilter** — **V / D / I / W / E** kiibid lülitavad sisse üksikasjaliku, arendaja-, teabe-, hoiatus- ja vearea. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Praeguste logide faili salvestamiseks puuduta ikooni **allalaadimine**. Süsteemi failivalijast valite, kuhu see liigub ja failile lisatakse ajatempliga nimi (näiteks `meshtastic_logcat_20260701_143312.txt`), nii, et korduvad ekspordid ei kirjuta üksteist kunagi üle.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privaatsus:** Ekspordib automaatselt **redigeeri** privaatvõtmed, administraatori võtmed ja seansi paroolid enne faili kirjutamist. Kanali PSKid **ei** redigeerita ja logid võivad sisaldada ka sõlmede nimesid, asukohti ja muid tuvastavaid üksikasju – enne avalikult jagamist vaadake fail üle ja jaga seda privaatselt, kui teil on kahtlusi.
-
-## Töölaud
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/desktop.html b/v2.8.0/docs/et-rEE/user/desktop.html deleted file mode 100644 index 42a9a536ad..0000000000 --- a/v2.8.0/docs/et-rEE/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-Meshtastic arvuti rakendus jagab oma põhikoodibaasi Androidiga Kotlin Multiplatformi kaudu. Most features work identically on Linux, macOS, and Windows.
-
-## Paigaldus
-
-### Linux
-
-- Lae väljalaske lehelt pakett `.deb` või `.AppImage`
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Lae väljalaske lehelt `.dmg` pakett
-- Or build from source
-
-### Windows
-
-- Lae väljalaske lehelt `.msi` paigaldus fail
-- Or build from source
-
-## Connecting Your Radio
-
-### USB port (esmane)
-
-The most reliable connection method on Desktop:
-
-1. Ühenda oma Meshtastic raadio USB kaabliga.
-2. Rakendus peaks jadapordi automaatselt tuvastama.
-3. Kui seda ei tuvastata, vali menüüst Ühenda õige jadapordiga.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Sisesta raadio IP-aadress ja port (vaikimisi: 4403).
-2. Klõpsa **Ühenda**.
-
-### Sinihammas (BLE)
-
-Sinihamba madal voolutarve on lauaarvutites toetatud [Kable](https://github.com/JuulLabs/kable) teegi kaudu:
-
-1. Veendu, et süsteemil on sinihamba adapter.
-2. Rakendus otsib automaatselt lähedalasuvaid Meshtastic raadioid.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Sõnumid                                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                                                 |
- Node List                                    | ✓       | ✓       | Full parity                                                                                                 |
- Kaart                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                                     |
- Sätted                                       | ✓       | ✓       | Full parity                                                                                                 |
- Sinihammas (BLE)          | ✓       | ✓       | Via Kable on desktop                                                                                        |
- Püsivara uuendus                             | ✓       | ✓       | Rakendusesisese USB, BLE ja Wi-Fi (ESP32) värskendused toimivad samamoodi nagu Androidis |
- Märguanded                                   | ✓       | ✓       | Emakeelsed op.süsteemi märguanded                                                           |
- Widgets                                      | ✓       | ✗       | Android-only                                                                                                |
- Android auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                                              |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                                  |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                                  |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Kiirklahvid
-
-Otseteed kasutavad macOS-is **⌘** (Command) ja Windowsis ning Linuxis **Ctrl**. (Super/Windowsi võti pole seotud.)
-
- Otsetee      | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Ava sätted             |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Salvemenüü** – paremklõpsa salveikoonil akna kuvamiseks või sulgemiseks
-- **Hiire interaktsioon** — hõljumisseisundid ja standardne töölaua navigeerimine
-
-### Notification Preferences
-
-Töölauarakendus pakub rakendusesiseste kuvatavate märguannete juhtimist – sõnumite, uute sõlmede ja aku tühjenemise märguanded. Nendele pääsed ligi rakenduses menüüst **Seaded → Märguanded**.
-
-## Built-in Documentation Browser
-
-Töölauarakendusel on sisseehitatud dokumentatsioonibrauser, mis võimaldab kiiret juurdepääsu abisisule ilma rakendusest lahkumata.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Mõned Androidile omased funktsioonid (vidinad, kindlad teavituskanalid) pole saadaval
-- Performance may vary on low-spec hardware running Compose Desktop
-- Lauaarvutid ei toeta veel BLE liitmist (sidumine toimib ilma ühendamiseta)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Püsivara uuendus](firmware) — USB, BLE ja Wi-Fi värskendused toimivad samamoodi nagu Androidis
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/discovery.html b/v2.8.0/docs/et-rEE/user/discovery.html deleted file mode 100644 index aa738721d7..0000000000 --- a/v2.8.0/docs/et-rEE/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Avastamine - - - -
# Avastamine
-
-Avastamistööriistad aitavad mõista, **kuidas** kärgvõrk on ühendatud – millised sõlmed üksteist kuulevad, milliseid teid sõnumid läbivad ja kus esinevad kitsaskohad või nõrgad lülid.
-
-The app offers two complementary approaches:
-
-- **Kohalik kärgvõrgu avastaja (skanner)** – automaatne režiim, mis perioodiliselt skaneerib ühendatud raadiol läbi erinevate LoRa eelhäälestuste, kuulab igaüht neist ja järjestab, milline eelhäälestus sinu asukohas kõige paremini toimib.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **LoRa preset picker** | Select one or more presets to scan. Otsing peatub kordamööda iga valitud eelseadistuse juures, et kuulata liiklust.                                                                                      |
- **Kuulamisaeg**        | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Pikemad kuulamisajad koguvad rohkem pakette ja annavad selgema pildi, kuid võtavad kauem aega. |
- **Keep screen awake**  | Valikuline lüliti, mis takistab ekraani pika skannimise ajal magamaminekut.                                                                                                                                              |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-Skanni ajal näitab Discovery selle praegust etappi:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Praeguste sätete salvestamine ja skannimiseks valmistumine.                            |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Kuulamine**                                         | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Algsete LoRa seadete taastamine.                                                       |
-
-![Kuulamis loendur näitab praeguse eelseadistuse järelejäänud aega](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-Kui skann on lõppenud, kuvab Discovery iga testitud eelseadistuse kohta tulemuste kaardi ja üldise kokkuvõtte.
-
-![Eelmääratud tulemuste kaart koos edetabeli ja kogutud näitajatega](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Meetriline                               | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Kanali kasutus                           | Kui hõivatud olid eetrisagedused kuulamise ajal.                               |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Avastuskaart** – skanni käigus leitud sõlmede kaart.
-- **Aruande eksport** – ekspordi aruanne PDF-failina Androidis või tekstina muudel platvormidel.
-
-> 💡 **Vihje:** Androidis saab Discovery genereerida tulemustest seadmesisese TI kokkuvõtte (Gemini Nano). If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Marsruudi
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. See on kõige kasulikum tööriist ühenduvusprobleemide tõrkeotsinguks.
-
-### Running a Traceroute
-
-1. Mine valikuni **Sõlmed** ja puuduta sõlme, mida soovid jälgida.
-2. Sõlme üksikasjade ekraanil puuduta **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Tulemused kuvatakse iga hüppe kohta, koos signaali kvaliteediga igal sammul.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Iga hüpe näitab vahendussõlme, mis sõnumi edastas. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Kehv ühendus – see releesegment on habras                                   |
- Mitu hüppet (4+)                                               | Pikk tee – kaalu sõlme ümberpaigutamist selle lühendamiseks                 |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Vihje:** Käivita traceroute'i mitu korda mõne minuti tagant. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"Marsruuti ei leitud"** — Sihtsõlm võib olla võrguühenduseta, leviulatusest väljas või teisel kanalil. Kontrolli, et mõlemad sõlmed jagaksid vähemalt ühte kanalit sama krüpteerimisvõtmega.
-- **Traceroute aegus** — Tee võib olla liiga pikk (ületab hüppete limiidi) või on vahendussõlm ülekoormatud. Proovi hüppe limiiti suurendada menüüs **Seaded → LoRa konfiguratsioon**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Sõlmede loend avastusvahendina
-
-Sõlmede loend ise on võimas avastusvahend, kui kasutada selle filtreerimis- ja sortimisfunktsioone tõhusalt.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sorteeri **Hüpete arvu järgi**, et näha, millised sõlmed on otse kättesaadavad (0 hüpet) ja millised vahendatavate sõlmedega.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Kasuta **Välista MQTT** raadio teel (mitte internetisilla kaudu) ligipääsetavatele sõlmedele keskendumiseks.
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/firmware.html b/v2.8.0/docs/et-rEE/user/firmware.html deleted file mode 100644 index e72c1dcf9e..0000000000 --- a/v2.8.0/docs/et-rEE/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Püsivara värskendus - - - -
# Püsivara värskendus
-
-Hoia oma Meshtastic raadio ajakohasena uusima püsivaraga, et saada uusi funktsioone, veaparandusi ja turvalisuse täiustusi.
-
-## Kontrollin värskendust
-
-1. Ava ühendatud raadio konfiguratsioon ja puuduta jaotises **Täpsemalt** valikut **Püsivara värskendus**. The entry appears only for OTA-capable devices.
-2. Rakendus kontrollib saadaolevaid püsivara versioone.
-3. Saadaval olevad värskendused näitavad versiooninumbrit ja muudatuste logi kokkuvõtet.
-
-## Värskendamise meetod
-
-### OTA (Over-The-Air) sinihamba abil
-
-Kõige levinum värskendamisviis Androidi kasutajate seas:
-
-1. Veendu, et raadio on sinihamba ​​kaudu ühendatud.
-2. Mine püsivara värskenduse lehele.
-3. Vali soovitud püsivara versioon.
-4. OTA alustamiseks puuduta nuppu **Uuenda**.
-5. Oota, kuni värskendus on lõppenud – **ära katkesta ühendust** värskenduse ajal.
-
-![Püsivara kontrollib värskendusi](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Hoiatus:** Püsivara värskenduse katkestamine võib sinu seadme rikkuda. Veendu, et raadiol oleks piisav aku (soovitatav on >50%) ja säilita kogu protsessi vältel sinihamba ​​​​lähedus.
-
-[Püsivara hoiatus](../../assets/screenshots/firmware_disclaimer.png)
-
-### Rakendusesisene USB värskendus
-
-Kui raadio on ühendatud **USB/jadaühenduse** (mitte sinihamba) kaudu, pakub püsivara värskendamise ekraan **USB failiedastust**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. See valik kuvatakse ainult USB/jadaühenduse korral – see pole sinihamba ​​kaudu saadaval.
-
-> ℹ️ **nRF alglaaduri märkus:** Mõned seadmed (nt RAK WisBlock RAK4631) vajavad alglaaduri vilkumist tootja jadaühenduse DFU tööriistaga (näiteks `adafruit-nrfutil`) – ainuüksi `.uf2` kopeerimine ei värskenda alglaadurit. The app surfaces a hint when this applies.
-
-### Muud püsivarauuenduse valikud
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Kasuta [Meshtastic Web Flasherit](https://flasher.meshtastic.org)
-- Või arvutil [Meshtastic CLI tööriist](https://meshtastic.org/docs/getting-started/flashing-firmware)
-
-## Versioonikanalid
-
- Kanal     | Kirjeldus                                                               |
- --------- | ----------------------------------------------------------------------- |
- Stabiilne | Soovitatav enamusele kasutajatele; testitud versioonid                  |
- Alfa      | Eelvaateversioonid; võivad sisaldada vigu                               |
- Lokaalne  | Püsivarauuenda ise valitud püsivara failga, allalaetud versiooni asemel |
-
-## Eelvärskenduse kontrollnimekiri
-
-Enne uuendamist:
-
-- [ ] Aku > 50%
-- [ ] Stabiilne sinihamba ühendus
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Eelvärskendus
-
-Pärast püsivara kirjutamist kontrollib rakendus värskendust ja ootab, kuni seade taas võrku lülitub:
-
-![Uuenduse kontrollimine ja seadme taasühendumise ootamine](../../assets/screenshots/firmware_verifying.png)
-
-Kui värskendus õnnestub:
-
-- The radio will reboot automatically
-- Sinihamba ühendus taastatakse
-- Verify your settings are intact
-- Kontrolli uut versiooni püsivara värskenduse ekraanil jaotises **Praegu paigaldatud** – see kuvatakse ka sõlme üksikasjade lehel ja ühenduste ekraanil
-
-![Püsivara värskendus õnnestus](/assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Värskendus on ummikus
-
-Kui värskendus näib olevat hangunud:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Proovi uuesti värskendada
-
-![Püsivara uuendamise viga](../../assets/screenshots/firmware_error.png)
-
-### Seade ei käivitu pärast värskendamist
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Kasuta veebi püsivarauuendust taaste/DFU režiimis
-3. Püsivarauuenda teadaolevalt toimiva püsivara versiooniga
-4. Seadmepõhiste taastamissammude kohta vaata Meshtastic Discordist
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Ühendatud raadio püsivara versioon on madalam kui minimaalselt toetatud versioon
-- Rakenduse ja püsivara versioonide mittevastavus
-- Deprecated features need migration
-
-> ⚠️ **Tähtis:** Ühilduvuse tagamiseks värskenda Meshtastic rakendust enne püsivara värskendust.
-
-## Related Topics
-
-- [Ühendused](connections) — ühenduse loomine pärast püsivara värskendamist
-- [Püsivara uuendamise juhend](https://meshtastic.org/docs/getting-started/flashing-firmware) — täielik püsivara uuendamise juhend meshtastic.org lehel
-- [Toetatud seadmed](https://meshtastic.org/docs/hardware/devices) — ühilduvate raadiote täielik loetelu on leitav aadressilt meshtastic.org
-- [KKK](https://meshtastic.org/docs/faq/) — meshtastic.org sageli esitatavad küsimused
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/help-and-docs.html b/v2.8.0/docs/et-rEE/user/help-and-docs.html deleted file mode 100644 index 044f39fb31..0000000000 --- a/v2.8.0/docs/et-rEE/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-Sama kasutajadokumentatsioon on **rakenduse sees**, nii et saate seda lugeda võrguühenduseta ilma Meshtasticust lahkumata. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Selle lugemiseks klõpsa lehel; pildid ja ristlingid toimivad ka.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Lehtede pealkirja ja märksõnade järgi filtreerimiseks puuduta otsinguikooni ja tippi – tulemused värskendatakse tippimise ajal.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** vastab Meshtasticu kohta käivatele lihtsatele küsimustele, kasutades allikana seda komplekti kuuluvat dokumentatsiooni. Klõpsai dokumendibrauseris nuppu Chirpy, sisesta küsimus ja see vastab vastuse ja linkidega asjakohastele lehtedele.
-
-![Chirpy TI assistent vastab küsimusele lehelinkide abil](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. Väike mudel laetakse alla esmakordsel kasutamisel.
-
-> ⚠️ **Märkus:** F-Droidi, töölaua ja iOS-i versioonide puhul kasutab Chirpy dokumentatsiooni asemel **märksõnaotsingut**, mitte generatiivset mudelit. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Tõlgi rakendus] (translate) — kuidas need lehed teistesse keeltesse lokaliseeritakse
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/map-and-waypoints.html b/v2.8.0/docs/et-rEE/user/map-and-waypoints.html deleted file mode 100644 index 7d849e0491..0000000000 --- a/v2.8.0/docs/et-rEE/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Iga positsiooni teatav sõlm kuvatakse **sõlme kiibi** markerina, mis kuvab sõlme lühinime. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. Kui sõlme asukoht reaalajas uueneb, pulseerib selle marker lühidalt. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Suumi** – näpista või +/- nuppude kasutamine
-- **Pan** — drag to explore
-- **Keskpunkt** – asukoha tsentreerimiseks valige asukohanupp
-- **Sõlme puudutamine** – üksikasjade kuvamiseks puuduta sõlmel
-
-Ujuv tööriistariba pakub kiiret juurdepääsu kompassile, kihtide vahetamisele, sõlmefiltritele, värskendamisele ja asukoha jälgimisele. Põhjasuuna muutmiseks puuduta kompassi või praeguse asukoha keskpunkti seadmiseks asukohanuppu.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Teekonnapunkt
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Loo teekonnapunkt
-
-1. Long-press on the map at the desired location.
-2. Sisestage nimi ja valikuline kirjeldus.
-3. Choose an icon/emoji for the waypoint.
-4. Puuduta **Saada** jagamiseks kärgvõrku.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Kirjeldus                                                   |
- ---------- | ----------------------------------------------------------- |
- Nimi       | Lühike identifikaator (max 29 tähemärki) |
- Kirjeldus  | Optional longer description                                 |
- Icon       | Visual marker emoji on the map                              |
- Lukustatud | If locked, only the creator can edit or delete              |
- Expiration | Optional auto-remove date and time                          |
- Geopiire   | Valikuline sisenemis-/väljumishoiatusala – vt allpool       |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Teekonnapunktide geopiirded
-
-Iga teekonnapunkt saab määratleda ka **geopiirde** – hoiatusala –, et teid või teisi teavitataks, kui sõlm sinna siseneb või sealt lahkub:
-
-1. Määra **geopiirde raadius** eelmääratletud kiipide hulgast (või keelamiseks **Väljas**) või puuduta kohandatud ristkülikukujulise ala joonistamiseks **Määra kaardile ala**.
-2. Kui piirkond on määratud, lülita sisse **Teavita sisenemisel** ja/või **Teavita väljumisel**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Kuna teekonnapunktid (ja nende geopiirded) edastatakse kogu kärgvõrgule, teavitatakse vaikimisi ainult **loojat**. Kui keegi teine ​​jagab sinuga geopiirdega teekonnapunkti, pakub selle detailvaade valikut **„Teavita mind ületamisest”**, et saaksid selle kohta ka sisenemis-/väljumishoiatusi.
-
-### Managing Waypoints
-
-- Puuduta kaardil teekonnapunkti, et vaadata selle üksikasju ja koordinaate
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Kaardikihid
-
-Puuduta kaardil kihtide ikooni, et avada **Kaardikihtide haldamine**, kus saad importida oma kihte `.kml`, `.kmz` või GeoJSON-vormingus – avades faili Meshtasticuga või jagades seda rakendusse teisest rakendusest. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Konfi saatja (asukoht, sagedus, saatja võimsus, antenni võimendus ja kõrgus), vastuvõtja (tundlikkus, kõrgus) ja simulatsioonivalikud (maksimaalne ulatus, kõrge eraldusvõimega maastik, värvipalett) ning seejärel käivita hinnang. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fikseeritud intervall** – levitamine regulaarsete intervallidega
-- **Nutikas asukoht** – levitatakse, kui liikumine ületab lävendi
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privaatsus:** asukoha andmed levitatakse kõigile sinu kanali sõlmedele. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Võrguühenduseta paanid (lae kaardialad alla võrguühenduseta kasutamiseks)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Avasta](Discovery) - traceroute'i ja naabri info kärgvõrgu topoloogia mõistmiseks
-- [Ühikud ja lokaat](units-and-locale) — kauguse ja koordinaatide kuvamise ühikud
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/messages-and-channels.html b/v2.8.0/docs/et-rEE/user/messages-and-channels.html deleted file mode 100644 index 48ff9cdc9f..0000000000 --- a/v2.8.0/docs/et-rEE/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Sõnumid ja kanalid - - - -
# Sõnumid ja kanalid
-
-Meshtastic toetab kahte suhtlusrežiimi: **kanalite levitamine** ja **otsesõnumid**.
-
-## Kanal
-
-Kanalid on jagatud suhtlusgrupid. Kõik sama kanalivõtmega seadistatud sõlmed saavad sellel kanalil sõnumeid lugeda ja saata.
-
-### Vaikekanal
-
-Igal Meshtastic seadmel on vaikimisi **PikkKauge** kanal. See on krüpteerimata kanal, mida kasutatakse üldiseks võrgusuhtluseks.
-
-### Kanali turvalisus
-
-Kanalid toetavad mitut krüpteerimistaset:
-
- Ikoon | Security Level                       | Kirjeldus                                                                                                                                 |
- ----- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒    | PSK (256-bit AES) | Täielikult krüpteeritud eel-jagatud tugeva võtmega. Ainult sobiva võtmega sõlmed saavad sõnumeid lugeda.  |
- 🔐    | PSK (128-bit AES) | Krüpteeritud lühema võtmega. Secure for most uses but 256-bit is preferred for sensitive data.            |
- 🔓    | Default / Open                       | Kasutab teada-tuntud vaikevõtit. **Iga Meshtastic seade** saab sama eelseadistusega neid sõnumeid lugeda. |
- ⚠️    | Insecure + Position                  | Ava kanal, mis levitab ka sinu GPS asukohta. Use with caution in public meshes.                           |
-
-> 🔒 **Turvanõuanne:** Privaatse suhtluse jaoks konfi alati unikaalne PSK. Vaikimisi kanal on tahtlikult avatud, et uued kasutajad saaksid kärgvõrku avastada – aga kõige tundliku jaoks peaksite looma eraldi krüptitud kanali.
-
-### Lisa kanal
-
-1. Mine **Sätted → Kanalid**.
-2. Puuduta **Lisa kanal** või skanni QR-koodi.
-3. Konfigureeri kanali nime ja krüpteerimisvõtit.
-4. Jaga kanali URL-i/QR-koodi teistega, kes seda vajavad.
-
-Kanali puudutamine kuvab selle üksikasjad ja jagamisvalikud.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Vali kontaktide loendist sõlm või puuduta sõlme loendis.
-3. Tippi oma sõnum ja puuduta nuppu **Saada**.
-
-### Sõnumi olek
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- Olek                                | Tähendus                                                                                                                             |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Kärgvõrku kohale jõudnud            | Kanali leviedastuse puhul jõuab sõnum kärgvõrku (leviedastustel puudub saajapõhine kinnitus)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Marsruutimine SF++ ahela kaudu…     | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Kinnitatud SF++ ahel                | Confirmed delivered via the SF++ chain                                                                                               |
- Tõrge                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Tõrge            | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | Järgmise-hüppe sõlm keeldus edastamast   | The relay node may be congested. Wait and retry.                                                                                            |
- Aegunud          | No acknowledgment within retry window    | The recipient may be just out of range. Proovi hüppe limiiti suurendada või paremasse asukohta minna.                                       |
- Liidest pole     | No radio interface available to send     | Kontrolli, kas raadio on ühendatud ja kanal on seadistatud.                                                                                                 |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Proovi teist kanalit või oota, kuni olukord paraneb.                                                           |
- Kanalit pole     | Sihtkanalit pole olemas                  | Veendu, et mõlemal sõlmel oleks sama kanali seadistus.                                                                                                      |
- Too Large        | Sõnum ületab maksimaalset sõnumi mahtu   | Lühenda oma sõnumit (maksimaalselt ~200 tähemärki).                                                                      |
- Vastust pole     | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Vigane päring    | Malformed or invalid message             | This usually indicates a software bug. Proovi rakendust taaskäivitada.                                                                      |
-
-> 💡 **Vihje:** Enamik kohaletoimetamise vigu laheneb iseenesest. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Eelsalvestatud sõnumid kiireks suhtluseks:
-
-- Juurdepääs läbi sõnumi sisestamise alas oleva kiirvestluse nupu
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Kasulik, kui trükkimine on ebapraktiline (kindad, väike ekraan, kiireloomuline)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Igal kiirvestluse kirjel on lühike **Nimi** (nupu silt), **Sõnum**, mille see lisab, ja **Saada kohe** lüliti – kui see on lubatud, saadetakse nupu puudutamisel sõnum kohe, selle asemel et see sisestada sisestusväljale redigeerimiseks:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-Kanalite loendis kuvatakse iga kanal koos selle viimase sõnumi eelvaatega.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Ava vestlus (kanal või otsesõnum).
-2. Puuduta ülemisel ribal **otsinguikooni**.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Vihje:** Otsing toimub täisteksti põhjal ja jääb vestlusse, kust sa selle avasid – see ei otsi teistest kanalitest ega kontaktide hulgast. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Teksti vormindamine
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tüüp          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Ühendus       | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Vali tekst ja puuduta stiili, et see murda (puuduta uuesti, et see eemaldada); kui valikut pole, lisab stiil tühja paari, kusjuures kursor on markerite vahel. Linginupp avab URL-i sisestamiseks dialoogiboksi. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Vihje:** Vormindus kantakse võrgusilma literaalmärkidena – samad baidid, mida iOS saadab. Kliendid, mis ei toeta Markdowni (vanemad rakendused, tavalised püsivara kliendid), kuvavad toored `**`/`~~` märgid. URL-id, e-posti aadressid ja telefoninumbrid lingitakse endiselt automaatselt olenemata sellest, kas kasutate Markdowni või mitte.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Emotikoni valimiseks puuduta **Lisa reaktsioon**
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Vihje:** Reaktsioonid on kerged – need kasutavad täistekstisõnumitega võrreldes minimaalselt võrgu ribalaiust.
-
-### Message Actions
-
-Juurdepääsuks vajuta pikalt mis tahes sõnumit:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Tõlgi** – tõlgi vastuvõetud sõnum oma seadme keelde ja vaheta algse ja tõlgitud teksti vahel (ainult Google Play versioon; kasutab seadmesisest tõlget)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Kanalite levitamine (madalaim)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Kasuta kanaleid grupi koordineerimiseks
-- Use direct messages for private person-to-person communication
-- Hoidke sõnumid lühikesed – võrgu ribalaius on piiratud
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Sõlmed] (nodes) — otsesõnumi alustamiseks puuduta sõlme
-- [Seaded — Raadio ja kasutaja](settings-radio-user) — kanalite krüpteerimise ja eelseadete konfimine
-- [MQTT](mqtt) — silda kanali sõnumid internetti
-- [Kanali konf](https://meshtastic.org/docs/configuration/radio/channels) — üksikasjalikud kanali seaded leiate aadressilt meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/mqtt.html b/v2.8.0/docs/et-rEE/user/mqtt.html deleted file mode 100644 index 8d78ed368e..0000000000 --- a/v2.8.0/docs/et-rEE/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT ühendab Meshtastic võrgu internetiga, võimaldades raadiolevi ulatusest kaugemale ulatuvat pikamaasidet.
-
-## Overview
-
-MQTT moodul ühendab sinu sõlme MQTT vahendajaga, võimaldades:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Sõlmede asukoha avaldamine avalikul Meshtastic kaardil
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Sinu sõlm] → Raadio → [WiFi-ga lüüsisõlm] → MQTT vahendaja → [Kauglüüs] → Raadio → [Kaugsõlm]
-```
-
-Internetiühendusega (WiFi või Ethernet) lüüsisõlm jagab võrgusõnumeid MQTT. Sama teemaga liitunud kauglüüsid sisestavad need sõnumid oma kohalikku kärgvõrku.
-
-## Sätted
-
-### Luba MQTT
-
-1. Mine menüüsse **Seaded → Mooduli konfiguratsioon → MQTT**.
-2. Luba MQTT moodul.
-3. Configure the broker connection:
-
-![MQTT lüliti](/assets/screenshots/settings_switch.png)
-
- Sätted           | Kirjeldus                                                                                  | Vaikimisi                                           |
- ---------------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------- |
- Server Address   | MQTT vahendaja hostinimi                                                                   | mqtt.meshtastic.org |
- Kasutajatunnus   | Broker authentication                                                                      | meshdev                                             |
- Parool           | Broker authentication                                                                      | large4cats                                          |
- Root Topic       | Base topic for messages                                                                    | msh                                                 |
- Encryption       | Krüpteeri MQTT liiklus                                                                     | Lubatud                                             |
- ~~JSON väljund~~ | ⚠️ **Vananenud** — JSON pakettide tugi on püsivarast eemaldatud; seda välja ignoreeritakse | Keelatud                                            |
- TLS              | Secure connection to broker                                                                | Keelatud                                            |
- Map Reporting    | Report position to public map                                                              | Keelatud                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-MQTT sätete ekraani ülaosas olev lüliti **MQTT puhverserver sellel telefonil** näitab, kas see relee töötab praegu, ja võimaldab selle kohe välja lülitada (või taaskäivitada) – ilma seadme MQTT konfiguratsiooni muutmata ja uuesti salvestamata.
-
-### Meshtastic vaikemaakler
-
-Kogukond haldab avaliku vahendajat aadressil `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Märkus:** Ühendused saidiga `mqtt.meshtastic.org` kasutavad alati TLS-i (port 8883), isegi kui TLS-i lüliti on välja lülitatud. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privaatsus:** Avaliku vahendaja sõnumeid saavad lugeda kõik tellijad. Privaatse suhtluse jaoks kasuta alati kanali krüpteerimist.
-
-### Private Broker
-
-Parema privaatsuse ja kontrolli tagamiseks saad hallata oma MQTT maaklerit:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-Kui kaardiaruandlus on lubatud, avaldab sõlm oma asukoha Meshtasticu kogukonnakaardil:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Üleslink vs allalink
-
- Direction    | Kirjeldus                          |
- ------------ | ---------------------------------- |
- **Üleslink** | Sõnumid kärgvõrgust → MQTT maakler |
- **Allalink** | Sõnumid MQTT maaklerist → kärgvõrk |
-
-Konfi iga kanali kohta, millised suunad on aktiivsed, et kontrollida sõnumivoogu ja eetriaega.
-
-## Sõnumivormingud
-
-MQTT kasutab protobuf-sõnumivormingut:
-
- Vorming      | Kirjeldus                              | Use case                   |
- ------------ | -------------------------------------- | -------------------------- |
- **Protobuf** | Binaarne Meshtastic protobuf kodeering | Node-to-node mesh bridging |
-
-> ⚠️ **Märkus:** JSON väljundi tugi eemaldati püsivarast. Säte `json_enabled` on rakenduses endiselt nähtav, et näha ka pärandühilduvust, kuid see ei mõjuta praegusi püsivara versioone.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Kanali krüptimine** toimub kärgvõrgus _enne_ MQTT. Kui kanalil on PSK, on ​​MQTT liiklus juba krüptitud – maakler ja kõik tellijad näevad ainult šifriteksti.
-2. **MQTT krüptimine** (mooduli säte) lisab vahendajale edastamiseks täiendava krüptimiskihi. This protects metadata and routing information.
-3. **TLS** krüpteerib TCP ühenduse vahendaja endaga, takistades võrgutasandil pealtkuulamist.
-
-> 🔒 **Tähtis:** Vaikimisi avalikul kanalil on tuntud võti. MQTT kaudu saadetud vaikekanalil olevad sõnumid on sisuliselt **krüpteerimata** – igaüks saab neid dekodeerida. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Kasuta kanali krüptimist (PSK), kanalitel mis on sillatud MQTT-ga
-- Ära luba MQTT internetiühenduseta sõlmedel (see puhverdab ja raiskab mälu)
-- Use a private broker for sensitive deployments
-- MQTT sõnumite allalaadimisel arvesta eetriaja kuluga – iga allalingitud sõnum tarbib sinu kohalikus võrgus raadioeetriaega
-- Kaalu ainult üleslingi lubamist, kui sul on vaja oma kärgvõrku eemalt jälgida ilma sõnumeid tagasi tõmbamata
-
-## Troubleshooting
-
-### MQTT ei ühendu
-
-- **Kontrolli WiFit** – lüüssõlmel peab olema aktiivne internetiühendus (WiFi või Ethernet). MQTT ei tööta LoRa raadiolingi enda kaudu.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Tulemüür** — port 1883 (MQTT) või 8883 (MQTT+TLS) peab olema avatud. Some networks block non-standard ports.
-- **DNS-i lahendamine** – kui kasutad kohandatud maakleri hostinime, veenduge, et sõlm suudab seda lahendada. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Kontrolli üleslingi/allalingi seadeid** — kui lubatud on ainult üleslink, liiguvad sõnumid võrgust MQTT-sse, aga mitte tagasi. Luba vastuvõtval lüüsil allalink.
-- **Kanali mittevastavus** – mõlemad lüüsid peavad jagama sama kanalit sama PSK-ga. Vastuolu tähendab, et sõnumid on krüpteeritud erinevate võtmetega ja kuvatakse prügina.
-- **Teema mittevastavus** — veendu, et mõlemad lüüsid kasutaksid sama juurteemat. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Seaded — Moodulid ja administreerimine](settings-module-admin) — MQTT mooduli konfi viide
-- [Sõnumid ja kanalid](messages-and-channels) — kanali krüptimine ja PSK seadistamine
-- [MQTT integratsioonijuhend](https://meshtastic.org/docs/software/integrations/mqtt) — üksikasjalik MQTT dokumentatsioon aadressil meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/node-metrics.html b/v2.8.0/docs/et-rEE/user/node-metrics.html deleted file mode 100644 index 210127df83..0000000000 --- a/v2.8.0/docs/et-rEE/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Sõlme mõõdikud - - - -
# Sõlme mõõdikud
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Seadme mõõdikud
-
-Basic operating information reported by each node:
-
- Meetriline     | Kirjeldus                           |
- -------------- | ----------------------------------- |
- Aku tase       | Praegune aku protsent               |
- Vool           | Aku pinge näit                      |
- Kanali kasutus | Percentage of airtime consumed      |
- Airtime        | Transmission time used by this node |
- Töötamise aeg  | Time since last reboot              |
-
-Seadme mõõdikud kuvatakse individuaalsete kaartidena, millel on trendigraafikud, mis näitavad aku taset, pinget, kanali kasutamist, eetriaega ja tööaega aja jooksul.
-
-> 💡 **Vihje:** Puuduta mis tahes mõõdikukaarti, et laiendada see ajalooliste andmepunktidega täisdiagrammiks. Ajatelje suumimiseks näpista sõrmed kokku.
-
-## Keskkonnamõõdikud
-
-Environmental sensor data (requires compatible hardware):
-
- Meetriline                           | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatuur                          | BME280, BME680, SHT31 |
- Niiskus                              | BME280, BME680, SHT31 |
- Baromeetri rõhk                      | BME280, BMP280        |
- Gaasi surve                          | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-BME680 **IAQ (siseõhu kvaliteet)** indeks on üksik väärtus vahemikus 0–500+, mis on tuletatud gaasitakistusest ja näidatud värvikoodiga skaalal _Suurepärane_ kuni _Ohtlikult saastunud_:
-
-![Siseõhu kvaliteedi indeks-skaala suurepärasest kuni ohtlikult saastunud](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Vihje:** Keskkonnamõõdikute jaoks on vaja kaugsõlmega ühendatud andurit. Not all nodes report environmental data. Vaata [Telemeetria & Sensorid](telemetry-and-sensors), et näha toetatud andurite täieliku loendit.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. See on **eraldi BME680 siseõhu kvaliteedi näidust**, mis on loetletud keskkonnamõõdikute all – siseõhu kvaliteet on ühtne gaasitakistusest tuletatud indeks, samas kui õhukvaliteedi vaade diagrammib aluseks olevaid tahkete osakeste ja CO₂ mõõtmisi.
-
- Meetriline            | Unit       | Kirjeldus                                                                                                                                                                                                                  |
- --------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³      | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2,5                 | µg/m³      | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³      | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA indeks | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm        | Süsinikdioksiidi kontsentratsioon                                                                                                                                                                                          |
- CO₂ temperature       | °C / °F    | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %          | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band         | CO₂ Range (ppm) | Värv        |
- ------------ | ---------------------------------- | ----------- |
- Hea          | < 1000    | Roheline    |
- Stuffy       | < 2000    | Merevaik    |
- Kehv         | < 5000    | Oranž       |
- Ebaturvaline | < 30000   | Punane      |
- Evakueeru    | ≥ 30000                            | Tume punane |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Ekspordi CSV** analüüsimiseks arvutustabeli vaates.
-
-> 💡 **Vihje:** Õhukvaliteedi mõõdikute jaoks on vaja kaugsõlmega ühendatud andurit. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. Vaata [Telemeetria & Sensorid](telemetry-and-sensors) toetatud raudvara kohta.
-
-## Signaali mõõdikud
-
-Radio signal quality information:
-
- Meetriline      | Kirjeldus                                                                      |
- --------------- | ------------------------------------------------------------------------------ |
- SNR             | Signal-to-Noise Ratio (higher is better)                    |
- RSSI            | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor     | Local background RF noise in dBm (more negative is quieter) |
- Hüppete loendur | Viimase sõnumi kärgvõrgu hüpete arv                                            |
-
-### Signal Quality Reference
-
-Signaali kvaliteeti hinnatakse **SNR-i põhjal, mis on seotud aktiivse LoRa modemi eelseadistuse demodulatsiooni alumise piiriga**, mitte fikseeritud läviväärtuste põhjal – antud SNR tähendab erinevatel eelseadistustel erinevat väärtust (nt −15 dB on LongSlow režiimil hea, kuid ShortFast režiimil mittekasutatav). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality  | Criteria                                                         |
- -------- | ---------------------------------------------------------------- |
- Hea      | SNR above the preset's limit                                     |
- Rahuldav | less than 5.5 dB below the limit                 |
- Halb     | 5.5 dB to 7.5 dB below the limit |
- Puudub   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Kasuta **Taotle**, et küsida ühendatud raadiost uut kohaliku statistika telemeetriaaruannet, **Tühjenda**, et eemaldada selle sõlme kohaliku statistika logi ja **Salvesta**, et salvestada nähtavat kohaliku statistika ajalugu CSV-failina.
-
-## Võimsusnäitajad
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Meetriline  | Kirjeldus               |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Pinge       | Power draw in milliamps |
- Toide       | Calculated wattage      |
-
-## Marsruudi
-
-Traceroute shows the path a message takes through the mesh:
-
-1. Sõlme üksikasjade ekraanil puuduta **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Tulemused näitavad iga hüpet koos SNR/RSSI väärtustega.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Iga hüpe esindab vahendussõlme, mis sõnumi edastas.
-
-## Asukoha logi
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Kõrgus
-- Speed (if moving)
-- Timestamp for each position report
-
-## Naabruse teave
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Mine **Seadmed**.
-2. Puuduta sõlme, mida soovite kontrollida.
-3. Select the metric category from the detail tabs.
-
-![Sõlme detailid — kohalik seade](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Asukoha tekstisisene sisu](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Märkus:** Mõõdikud on saadaval ainult siis, kui need on kaugsõlme poolt esitatud. Mõõdikud värskendatakse iga sõlme telemeetria sätetes seadistatud intervallidega.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemeetria & Sensorid](telemetry-and-sensors) — toetatud andurid ja seadistus
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Avasta](Discovery) — traceroute'i üksikasjad ja naabri teave
-- [Ühikud ja lokaat](units-and-locale) — temperatuuri, kauguse ja kiiruse kuvamise ühikud
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/nodes.html b/v2.8.0/docs/et-rEE/user/nodes.html deleted file mode 100644 index 39310a71ce..0000000000 --- a/v2.8.0/docs/et-rEE/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Sõlmed - - - -
# Sõlmed
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Sõlme nimi** — kasutaja pandud pikk nimi
-- **Lühinimi** — 4-tähemärgiline identifikaator
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Aku** — kaugsõlme aku tase (kui telemeetria on lubatud)
-
-### Node Status Indicators
-
- Badge     | Meaning                             |
- --------- | ----------------------------------- |
- 🟢 Võrgus | Node heard within the last 2 hours  |
- ⚪ Offline | Node not heard for over 2 hours     |
- ⭐ Lemmik  | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Sõlmedele saab määrata erinevaid rolle, mis mõjutavad nende kärgvõrgus käitumist:
-
- Roll                             | Kirjeldus                                                                                                                                                               |
- -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Klient                           | Standard end-user device                                                                                                                                                |
- Klient-baas                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                                      |
- Vaikne klient                    | Receives but doesn't retransmit                                                                                                                                         |
- Peidetud klient                  | Like Client Mute, plus hides from node list                                                                                                                             |
- Ruuter                           | Prioritizes message forwarding; stays awake to relay                                                                                                                    |
- Hiline ruuter                    | Infrastruktuurisõlm, mis levitab signaali ühe korra, kuid alles pärast kõiki teisi režiime (pakub täiendavat leviala)                                |
- ~~Router Client~~                | ⚠️ **Vananenud** (eemaldatud püsivara versioonis 2.3.15) — enam mitte valitav; kasuta hoopis ruuterint või kliendina |
- ~~Repeater~~                     | ⚠️ **Vananenud** (eemaldatud püsivara versioonis 2.7.11) — enam mitte valitav; kasuta hoopis ruuterina               |
- Jälgitav                         | Optimized for position reporting at regular intervals                                                                                                                   |
- Andur                            | Optimized for telemetry reporting                                                                                                                                       |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                                  |
- Jälgitav TAK                     | TAK position reporting only                                                                                                                                             |
- Lost & Found | Pidev asukoha majakas taastamiseks                                                                                                                                      |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Ära kasuta ruuter akutoitel töötavatel käsiseadetel.
-- **Ruuter hiline** – infrastruktuurisõlm, mis levitab pakette alati üks kord uuesti, aga alles pärast seda, kui kõik teised marsruutimisrežiimid on oma käigu teinud. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Jälgimisseade** – järelevalveta seade, mille ainus eesmärk on oma GPS asukoha levitamine (nt sõiduk, lemmikloom või vara). Aku säästmiseks magab saadete vahel.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Sarnane võimsusprofiil jälgimisseadmele.
-- **TAK / TAK jälgimisseade** — Vajalik ainult ATAK/WinTAK süsteemidega koostööl. See [TAK Integration](tak) for details.
-
-> 💡 **Vihje:** Kärgvõrk töötab kõige paremini, kui enamik sõlmi on **klient** või **ruuter**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon            | Meaning                                                                                                                          |
- --------------- | -------------------------------------------------------------------------------------------------------------------------------- |
- 🔒 Lukustatud   | Suhtlus kasutab PKI-d (avaliku võtme infrastruktuuri) – otsast lõpuni krüpteeritud kontrollitud identiteediga |
- 🔓 Lukust lahti | Suhtlus kasutab jagatud kanali PSK – krüpteeritud, kuid isikut pole individuaalselt kontrollitud                                 |
- ⚠️ Ebakõla      | Avaliku võtme mittevastavus — sõlme võti on viimasest nägemisest saadik muutunud (enne usaldamist uuri)       |
-
-> 💡 **Vihje:** PKI krüpteering (püsivara 2,5+) pakub tugevamat turvalisust kui kanali PSK, kuna igal sõlmel on unikaalne võtmepaar. Kui näed võtme mittevastavuse hoiatust, võib sõlm olla lähtestatud või ohustatud.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Puuduta** sõlmel, et vaadata üksikasjade lehte
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Teavituste vaigistamine/vaigistuse tühistamine
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Sõlmede filtreerimiseks nime või lühinime järgi tipi otsinguväljal. Filter uueneb reaalajas kirjutamise ajal.
-
-### Filter Toggles
-
- Filtreeri                  | Kirjeldus                                                                            |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Välista MQTT**           | Peida ainult MQTT internetisilla kaudu kuuldavad sõlmed                              |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Kirjeldus                                                          |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hüppe kaugusel**                          | Vähim vahendatud hüppeid esimesena                                 |
- **Kanal**                                   | Rühmitatud kanali loendi alusel                                    |
- **Läbi MQTT**                               | Rühmitatud MQTT ver raadiost kuuldud järgi                         |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Sõlme hüppe kohta
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Sõlmel klõpsamine avab detailvaate koos põhjaliku teabega. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Sõlme detailvaade](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Sõlme üksikasjade jaotis](../../assets/screenshots/nodes_detail_section.png)
-
-Tekstisisesed olekuindikaatorid näitavad peamisi mõõdikuid lühidalt:
-
- Indicator       | Screenshot                                                    |
- --------------- | ------------------------------------------------------------- |
- Signal quality  | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Aku tase        | ![Aku](../../assets/screenshots/nodes_battery_info.png)       |
- Hüppete loendur | ![Hüpet](../../assets/screenshots/nodes_hops_info.png)        |
- Viimati kuuldud | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Kaugus          | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Seadme lingid ("Soovin ühte")
-
-Kui sõlme riistvara tuvastatakse, kuvatakse detailvaates kokkupandav jaotis **„Soovin ühte”**, mis lingib kohtadele, kust seadet osta või selle kohta lisateavet saada: müüja tooteleht, tootevariandid ja piirkondlike marketplace loendid (nt AliExpress, Amazon ja toetatud jaemüüjad), mis on filtreeritud sinu riigi järgi. Iga link avaneb ümbersuunamisteenuse `msh.to` kaudu. Seadmed, millel pole vastavaid linke, seda jaotist ei kuva.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Sõnumid ja kanalid](messages-and-channels) — saada otsesõnum sõlmele
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Avasta](Discovery) - traceroute ja naabri-info kärgvõrgu topoloogia uurimiseks
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/onboarding.html b/v2.8.0/docs/et-rEE/user/onboarding.html deleted file mode 100644 index c9883433b4..0000000000 --- a/v2.8.0/docs/et-rEE/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Tere tulemast Meshtasticusse! See juhend juhendab sind Meshtastic Androidi rakenduse esmasel seadistamisel.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Tervituskuva
-
-Tervituskuval tutvustatakse Meshtasticut ja selle põhifunktsioone:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Puuduta **Alusta** seadistusvoo jätkamiseks.
-
-![Tervituskuva](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-Rakendus küsib seadistamise ajal mitmeid lube. Each one serves a specific purpose, and some are required for core functionality.
-
-### Sinihamba load
-
-Sinihammas on peamine ühendusmeetod sinu telefoni ja Meshtastic raadio vahel:
-
-- **Bluetoothi ​​skann** – avasta lähedalasuvad Meshtastic raadiod
-- **Sinihamba ühendus** – loo ja halda seotud seadmete ühendusi
-
-Grant both permissions when prompted. Ilma sinihambata peate kasutama USB- või TCP-ühendusi.
-
-### Location Permission
-
-> ⚠️ **Miks on sinihamba ​​jaoks vaja asukohateavet?** Android vajab lähedalasuvate sinihamba madala energia seadmete avastamiseks asukohale juurdepääsu luba. See on Androidi süsteeminõue, mitte Meshtastic põhine valik.
-
-Meshtastic kasutab sinu asukohta ka järgmiseks:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **Rakenduse kasutamise ajal** – asukohta uuendatakse kui rakendus on avatud
-- **Alati** – lubab taustal asukoha värskendusi, et kärgvõrgu oleks alati sisse lülitatud
-
-Kui keelatud, siis sinihamba otsing ei toimi ja sõlm ei edasta asukohta.
-
-### Märguannete load
-
-Märguanded teavitavad teid järgmisest:
-
-- Sissetulevad sõnumid kanalitelt ja otsesõnumid
-- New nodes joining the mesh
-- Kaugsõlmel on aku tühjenenud
-
-> 💡 **Vihje:** Teavituste eelistusi saab hiljem Androidi süsteemiseadetes täpsustada – rakendus loob iga kategooria kohta eraldi teavituskanali (lisaks mõned sisemised, näiteks taustateenus), nii et saad need eraldi lubada või vaigistada.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- Need on kõrge prioriteediga märguanded, mis võivad režiimist „Ära sega” läbi murda
-- Useful for emergency mesh alerts or urgent messages
-- Võid selle sammu **vahele jätta**, kui te kõrge prioriteediga märguandeid ei vaja
-- Configure or revoke later in Android notification settings
-
-## Peale seadistamist
-
-Kui load on antud, läheb rakendus üle põhiliidesele. Esimene samm peaks olema ühenduse loomine Meshtastic raadioga – üksikasjalike juhiste saamiseks vaata [Ühendused] (connections).
-
-> 💡 **Vihje:** Kui jätsid seadistamise ajal mõne õiguse andmata, saad selle hiljem anda jaotises **Androidi seaded → Rakendused → Meshtastic → Load**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Kui raadioga on ühendus loodud, uuri:
-
-- [Ühendused(connections) — seo oma esimene raadioseade
-- [Sõnumid ja kanalid](messages-and-channels) — saada oma esimene sõnum
-- [Seadmed](nodes) — vaata, kes on sinu võrgus
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-Kas oled Meshtasticus algaja? Meshtastic.org lehel olev [alustusjuhend](https://meshtastic.org/docs/getting-started) käsitleb riistvara valimist, raadio esialgset seadistamist ja esimest võrgu seadistamist.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/settings-module-admin.html b/v2.8.0/docs/et-rEE/user/settings-module-admin.html deleted file mode 100644 index 70ff853675..0000000000 --- a/v2.8.0/docs/et-rEE/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Sätted - moodulid & admin - - - -
# Sätted - moodulid & admin
-
-Konfi valikulisi funktsioonimooduleid ja teosta seadme haldamist. Moodulid laiendavad Meshtasticut spetsiaalsete võimalustega – igaüht saab eraldi lubada või keelata.
-
-> 💡 **Vihje:** Pead lubama ainult need moodulid, mida sa tegelikult kasutad. Kasutamata moodulite keelamine vähendab eetriaega, säästab akut ja lihtsustab seadistamist.
-
-Mooduli seaded kasutavad kaardipõhist paigutust koos lülitite, rippmenüüde, tekstiväljade ja liuguritega:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Mooduli konf
-
-### MQTT moodul
-
-Sildab võrgusõnumeid MQTT vahendajasse ja sealt internetiühenduse loomiseks. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Sätted          | Kirjeldus                                                                |
- --------------- | ------------------------------------------------------------------------ |
- Lubatud         | Lükka MQTT sild sisse                                                    |
- Server          | MQTT vahendaja aadress                                                   |
- Kasutajatunnus  | Authentication username                                                  |
- Parool          | Authentication password                                                  |
- Encryption      | Krüpteeri MQTT kasutus                                                   |
- ~~JSON Output~~ | ⚠️ **Vananenud** — JSON tugi püsivarast eemaldatud; välja ignoreeritakse |
- TLS             | Use secure connection                                                    |
- Root Topic      | Baas MQTT teema teekond                                                  |
- Map Report      | Publish position for public map                                          |
-
-Vaata [MQTT](mqtt) üksikasjalikumat kasutusjuhendit, mis sisaldab teavet krüpteerimise, privaatsuse ja vahendaja seadistamise kohta,.
-
-### Jadapordi moodul
-
-Võimaldab jadapordi sidet väliste seadmete integreerimiseks (GPS-moodulid, andurid või kohandatud riistvara). Kui lubatud, saab sõlme jadaühendus saata ja vastu võtta protobuf- või tekstiandmeid, võimaldades välistel mikrokontrolleritel või arvutitel võrguga suhelda.
-
- Sätted          | Kirjeldus                      |
- --------------- | ------------------------------ |
- Lubatud         | Aktiveeri jadapordi ühendus    |
- Echo            | Kaja sai jadaandmed tagasi     |
- Mode            | Text, Protobuf, or NMEA output |
- RX/TX kontaktid | GPIO sisend jagaühenduseks     |
- Baud Rate       | Jadaühenduse kiirus            |
-
-### Välise teavitusmoodul
-
-Juhib raadio riistvara summeri-, LED- või vibratsioonihoiatusi. Kasulik seadmetele, mis peavad sõnumi saabumisest füüsiliselt märku andma – eriti kasulik järelevalveta või välistingimustes paigaldamise korral.
-
- Sätted                            | Kirjeldus                     |
- --------------------------------- | ----------------------------- |
- Lubatud                           | Aktiveeri märguanded          |
- Alert Message                     | Notify on incoming messages   |
- Alert Message Buzzer              | Use buzzer for messages       |
- Alert Message Vibra               | Use vibration for messages    |
- Hoiatuskell                       | Teavita hoiatuskella märgist  |
- Väljund (GPIO) | Sisend teavitusväljundi jaoks |
- Active                            | High or Low active            |
- Duration (ms)  | Notification length           |
- Use I2S as Buzzer                 | Use I2S audio output          |
-
-### Salvesta & edasta moodul
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Sätted                                     | Kirjeldus                                                                                                                                        |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Lubatud                                    | Aktiveeri salvesta ja saada                                                                                                                      |
- Südamelöögid                               | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Vihje:** Salvesta ja edasta töötab kõige paremini rohke mäluga sõlmedes (ESP32 koos PSRAM-iga). Router nodes are ideal candidates since they're typically always-on.
-
-### Kaugustesti moodul
-
-Automatiseeritud vahemiku testimise tööriist sõlmede vahelise ühenduse kvaliteedi hindamiseks. Kui lubatud, edastab sõlm perioodiliselt testsõnumeid kasvavate loenduritega. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Sätted                                 | Kirjeldus                         |
- -------------------------------------- | --------------------------------- |
- Lubatud                                | Aktiveeri levi test               |
- Sender Interval (s) | Time between test transmissions   |
- Salvesta CSV                           | Log received test data to SD card |
-
-### Telemeetria moodul
-
-Controls what telemetry data your node shares with the mesh. Telemeetria sisaldab seadme tervist (aku, tööaeg) ja keskkonnaandurite andmeid (temperatuur, niiskus, rõhk).
-
- Sätted                       | Kirjeldus                               |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-Vaata [Telemeetria & Sensorid](telemetry-and-sensors) toetatud andurite ja sätete soovituste kohta.
-
-### Eelsalvestatud sõnumi moodul
-
-Seadme füüsiliste nuppude kaudu ligipääsetavad eelseadistatud sõnumid (pöördnuppude, klaviatuuride või sarnase sisendriistvaraga raadiote puhul). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Sätted                  | Kirjeldus                                                          |
- ----------------------- | ------------------------------------------------------------------ |
- ~~Lubatud~~             | ⚠️ **Vananenud** — praegune püsivara võib seda lülitit ignoreerida |
- Sõnumid                 | Newline-separated list of messages                                 |
- Saada kelluke           | Esita saatmisel kellukese heli                                     |
- Rotary Encoder          | Enable rotary encoder input                                        |
- Üles/alla/vajuta sisend | GPIO sisendi kontaktide määramine                                  |
-
-### Audio moodul
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Sätted          | Kirjeldus                        |
- --------------- | -------------------------------- |
- Lubatud         | Aktiveeri audio moodul           |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO sisend I2S WS jaoks         |
- I2S Data In     | GPIO sisend I2S DIN jaoks        |
- I2S Data Out    | GPIO sisend I2S DOUT jaoks       |
-
-> ⚠️ **Märkus:** Heli jaoks on vaja spetsiaalset riistvara (I2S mikrofon ja kõlar). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Kaugriistvara moodul
-
-GPIO juhtimine kärgvõrgu kaudu. Võimaldab kaugsõlmel lugeda või kirjutada GPIO sisendkontakte teisel sõlmel – kasulik releede aktiveerimiseks, lülitite lugemiseks või välise riistvara kaugjuhtimiseks.
-
- Sätted                     | Kirjeldus                                                               |
- -------------------------- | ----------------------------------------------------------------------- |
- Lubatud                    | Aktiveeri kaugjuurdepääs GPIO-le                                        |
- Luba määratlemata sisendid | Luba juurdepääs mis tahes GPIO sisendile (turvarisk) |
- Available Pins             | Kuni 4 GPIO sisendit, mida see sõlm kauglugemiseks/-kirjutamiseks avab  |
-
-> ⚠️ **Hoiatus:** Funktsiooni „Luba määratlemata sisendkontaktid” lubamine annab kaugsõlmedele juurdepääsu kõigile GPIO sisendile, mis võib häirida raadio enda riistvara. Luba ainult spetsiaalsetel GPIO sõlmedel.
-
-### Naabriinfo moodul
-
-Levitab teavet otse kuuldud naabrite kohta, võimaldades kärgvõrgu topoloogia kaardistamist. Iga lubatud sõlm jagab perioodiliselt nimekirja teistest sõlmedest, mida ta kuuleb ja nende signaali kvaliteedist.
-
- Sätted                                     | Kirjeldus                                                                                                                                   |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
- Lubatud                                    | Aktiveeri naabrite leviring                                                                                                                 |
- Värskendusintervall(id) | Kui tihti naabrite nimekirja levitada                                                                                                       |
- Transmit Over LoRa                         | Edasta naabriinfot ka LoRa kaudu, mitte ainult MQTT/telefoni kaudu. Vaikimisi võtit ja nime kasutavat kanalit pole saadaval |
-
-Vaata [Avasta](Discovery) kuidas kasutada naabri-andmeid kärgvõrgu topoloogia uurimiseks.
-
-### Ambientvalguse moodul
-
-Juhib toetatud riistvaral NeoPixeli või muid adresseeritavaid RGB LEDe. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Sätted             | Kirjeldus                                                          |
- ------------------ | ------------------------------------------------------------------ |
- LED olek           | Turn the LED on or off                                             |
- Pinge              | LED current limit (0–31)                        |
- Red / Green / Blue | Individuaalsete värvikanalite väärtused (0–255) |
-
-### Tuvastusanduri moodul
-
-Turns your node into a motion or door sensor alert system. Kui GPIO sisend tuvastab oleku muutuse (liikumine tuvastatud, uks avatud), levitab sõlm kärgvõrgu kaudu hoiatusteate.
-
- Sätted                                     | Kirjeldus                                                                                                                               |
- ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
- Lubatud                                    | Aktiveeri tuvastusandur                                                                                                                 |
- Ekraani sisend                             | GPIO sisend on anduriga ühendatud                                                                                                       |
- Detection Trigger Type                     | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                      | Enable the pin's internal pull-up resistor                                                                                              |
- Minimaalne leviring(id) | Minimaalne aeg hoiatusteadete levitamisel                                                                                               |
- Riiklik ringhääling(ud) | Perioodilise oleku levitamise intervall                                                                                                 |
- Saada hoiatuskell                          | Lisa märguannetesse hoiatuskella sümbol                                                                                                 |
- Friendly Name                              | Selle anduri kohandatud nimi                                                                                                            |
-
-### Paxloenduri moodul
-
-Inimeste loendur WiFi ja BLE päringute abil. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Sätted                                     | Kirjeldus                     |
- ------------------------------------------ | ----------------------------- |
- Lubatud                                    | Aktiveeri inimeste loendamine |
- Värskendusintervall(id) | How often to report counts    |
-
-> 💡 **Vihje:** Paxloendur on kasulik jalakäijate liikluse hindamiseks matkaradade alguses, ürituste toimumiskohtades või muudes kohtades. Counts are approximate — one person may carry multiple devices.
-
-### TAK moodul
-
-Meeskonna teadlikkuse komplekti integratsioon ATAKi ja WinTAKi koostalitlusvõime tagamiseks. Vaata [TAK Integration](tak) täpsema seadistamise ja kasutamise kohta.
-
-## Haldus
-
-### Kaughaldus
-
-Administraatori võtit jagavate sõlmede kaugkonfigureerimine:
-
-1. Select the target node in the node list.
-2. Mine selle sõlme **Seadetesse**.
-3. Muuda seadistust.
-4. Puuduta **Salvesta** – muudatused saadetakse kärgvõrgu kaudu.
-
-> ⚠️ **Nõutud:** Administraatori võtit, mis on seadistatud nii sinu kui ka sihtsõlmes.
-
-### Tühjenda sõlmede andmebaas
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **Seda ei saa tagasi võtta.**
-
-### Taaskäivita
-
-Ühendatud või hallatava sõlme kaugkäivitamine.
-
-### Arendaja paneel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Kaug-admin tõrkeotsing
-
-- **"Sihtsõlmelt ei ole vastust"** — sihtsõlm võib olla leviulatusest väljas, võrguühenduseta või sellel võib olla sobimatu administraatori võti. Veendu, et administraatori võti sobiks mõlemas sõlmele.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Ei näe kaugseadeid** — veendu, et sõlmel oleks sihtsõlme administraatori võti ja et administraatori kanal oleks turbekonfiguratsioonis lubatud. Administraatori kanal seadistatakse automaatselt, kui administraatori võti on määratud.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Mooduli konfiguratsiooni viide](https://meshtastic.org/docs/configuration/module) — üksikasjalik mooduli dokumentatsioon aadressil meshtastic.org
-- [KKK](https://meshtastic.org/docs/faq/) — meshtastic.org sageli esitatavad küsimused
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/settings-radio-user.html b/v2.8.0/docs/et-rEE/user/settings-radio-user.html deleted file mode 100644 index 5e6909d056..0000000000 --- a/v2.8.0/docs/et-rEE/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Kirjeldus                                                                             |
- ----------------- | ------------------------------------------------------------------------------------- |
- Täis nimi         | Your display name (up to 39 characters)                            |
- Lühi nimi         | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-Pärast sätete muutmist puuduta nuppu **Salvesta**, et konfiguratsioon raadiosse salvestada. The device may reboot to apply changes.
-
-## Sätted
-
-### Seadme sätted
-
- Setting                                       | Kirjeldus                                                               | Vaikimisi |
- --------------------------------------------- | ----------------------------------------------------------------------- | --------- |
- Roll                                          | Node behavior (Client, Router, etc.) | Klient    |
- Kordusülekannete režiim                       | How the node retransmits messages                                       | Kõik      |
- Sõlme(de) teabe levitamine | Sõlme teabe levitamise intervall                                        | 10800     |
- Topeltpuudutusnupp                            | Toiming topeltpuudutuse nupu korral                                     | Keelatud  |
-
-### LoRa sätted
-
- Setting          | Kirjeldus                                                               | Vaikimisi                                 |
- ---------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regioon          | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modemi vaikesäte | Speed/range tradeoff                                                    | LongFast                                  |
- Hüppete limiit   | Maks uuesti saadetud hüpet                                              | 3                                         |
- TX võimsus       | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset | Fine-tune frequency (MHz)                            | 0                                         |
- Kanali ribalaius | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Tähtis:** Enne edastamist **peate** oma piirkonna määrama. Operating without the correct region may violate local radio regulations. Lisateabe saamiseks vaadake [regiooni seadistamise juhendit](https://meshtastic.org/docs/getting-started/initial-config) aadressil meshtastic.org.
-
-### Modem Presets
-
-> 💡 **Vihje:** **SNR-i piirväärtused** on meelega negatiivsed. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Kiirus                   | SNR Limit | Best For                                                                                          |
- ------------------ | ----------------------- | ------------------------ | --------- | ------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21,9 kbps                | −7,5 dB   | Dense urban with line-of-sight; data-heavy applications                                           |
- Short Fast         | ~3 km   | 10,9 kbps                | −7,5 dB   | Urban neighborhoods; buildings within a few blocks                                                |
- Short Slow         | ~5 km   | 5.5 kbps | −10 dB    | Äärelinna lühimaa; mõõdukas hoonestustihedus                                                      |
- Medium Fast        | ~5 km   | 5.5 kbps | −12,5 dB  | Suburban areas; moderate building density                                                         |
- Medium Slow        | ~8 km   | 1,1 kbps                 | −15 dB    | Suburban/rural; moderate range with slower speed                                                  |
- Long Turbo         | ~10 km  | 4,4 kbps                 | −12,5 dB  | Sarnane ulatus kui Pikk Kauge, aga 500 kHz ribalaiusega; kiirem läbilaskevõime                    |
- Long Fast          | ~10 km  | 1,1 kbps                 | −17,5 dB  | **General use (default)** — balanced range and speed                           |
- Long Moderate      | ~20 km  | 0,34 kbps                | −17,5 dB  | Rural with some terrain; occasional use                                                           |
- Lite Fast          | ~5 km   | 5,5 kbps                 | −12,5 dB  | EL 866 MHz SRD sagedusala (125 kHz ribalaius); võrreldav Medium Fast           |
- Lite Slow          | ~10 km  | 1,1 kbps                 | −15 dB    | EL 866 MHz SRD sagedusala (125 kHz ribalaius); võrreldav Long Fast             |
- Narrow Fast        | ~5 km   | 2,7 kbps                 | −10 dB    | EL 868 MHz sagedusala (62,5 kHz sagedusriba); väldib häireid teiste seadmetega |
- Narrow Slow        | ~10 km  | 1,1 kbps                 | −12,5 dB  | EL 868 MHz sagedusala (62,5 kHz ribalaius); võrreldav Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0,18 kbps                | −20 dB    | ⚠️ **Vananenud** — endiselt valitav, kuid võidakse tulevases püsivara versioonis eemaldada        |
- ~~Very Long Slow~~ | ~40+ km | 0,09 kbps                | −20 dB    | ⚠️ **Vananenud** — endiselt valitav, kuid võidakse tulevases püsivara versioonis eemaldada        |
-
-> ℹ️ **Märkus:** Selles tabelis kasutatakse üldlevinud lühinimesid. Rakenduse eelseadistatud rippmenüüs on need järgmised: **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, jne.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). See tähendab pikemat ulatust, aga vähem baite sekundis.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Linnavõrk (palju sõlmi, lühikesed vahemaad):** Kasutage valikut **Long Fast** (vaikimisi) või **Short Fast**. Suurem kiirus tähendab väiksemat eetriaega, kui kanalit jagavad paljud sõlmed.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fikseeritud taristuühendused:** Kasutage **Short Turbo** või **Long Turbo** spetsiaalsete punkt-punkti ühenduste jaoks, millel on head antennid ja otsenähtavus.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Tähtis:** Kõik samal kanalil olevad sõlmed **peavad** kasutama sama modemi eelseadistust. Erinevate eelseadetega sõlmed ei saa suhelda isegi siis, kui neil on sama sagedus ja krüpteerimisvõti.
-
-> 💡 **Vihje:** ulatuse hinnangud eeldavad tasast maastikku ja mõõdukaid antenne. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Ekraani sätted
-
- Setting             | Kirjeldus                                                                        |
- ------------------- | -------------------------------------------------------------------------------- |
- Screen Timeout      | Time before display sleeps                                                       |
- Display Units       | Meetriline või Imperial                                                          |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                    |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)     |
- ~~Compass North~~   | ⚠️ **Vananenud** — asendatud kompassi suunaga; nähtav endiselt vanemas püsivaras |
-
-### Asukoha sätted
-
- Setting                                   | Kirjeldus                          |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS värskendamise intervall               | How often to acquire GPS fix       |
- Asukoha(de) levitamine | How often to share position        |
- Nutikas asukoht                           | Liikumispõhise levitamise lubamine |
- Määratud asukoht                          | Use a manually set position        |
-
-### Toite sätted
-
- Setting                                 | Kirjeldus                               |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Aku pinge kalibreerimistegur            |
- Oota sinihammast(id) | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Ülisügava une ajalõpp                   |
-
-### Võrgu sätted
-
- Setting       | Kirjeldus                                  |
- ------------- | ------------------------------------------ |
- WiFi lubatud  | Luba WiFi (ESP32 seade) |
- WiFi SSID     | Network name to connect to                 |
- WiFi PSK      | Network password                           |
- NTP server    | Time synchronization server                |
- Syslog Server | Kauglogimise server                        |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Sinihamba sätted
-
- Setting            | Kirjeldus                                                           |
- ------------------ | ------------------------------------------------------------------- |
- Sinihammas lubatud | Enable/disable BLE radio                                            |
- Sidumisreziim      | Määratud PIN kood, juhuslik PIN kood või PIN koodi pole             |
- Fikseeritud PIN    | Sidumise PIN (vaikimisi: 123456) |
-
-### Turva sätted
-
- Setting                 | Kirjeldus                                                                                                                                                                                                                             |
- ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Avalik võti             | Sinu sõlme avalik võti (kirjutuskaitstud)                                                                                                                                                                          |
- Administraatori võti    | Kaughalduse võti                                                                                                                                                                                                                      |
- Salajane võti           | Sinu sõlme privaatvõti (käsitsege turvaliselt)                                                                                                                                                                     |
- ~~Admin kanal lubatud~~ | ⚠️ Eemaldatud — nüüd seadistatakse automaatselt, kui administraatori võti on määratud                                                                                                                                                 |
- Arendaja logi           | Edasta reaalajas arendajalogi jadapordi/sinihamba ​​kaudu                                                                                                                                                                             |
- Jadaühendus lubatud     | Luba jadapordi konsoolile juurdepääs (teisaldatud seadme konfist)                                                                                                                                                  |
- Hallatud režiim         | Piira mitte-administraatori kanali muudatusi                                                                                                                                                                                          |
- Taastevõtmed            | Salvesta sõlme võtmete krüpteeritud varukoopia sellesse seadmesse (ainult Android)                                                                                                                                 |
- Taasta võtmed           | Kirjuta varundatud võtmed tagasi sõlme (saadaval siis, kui varukoopia on olemas)                                                                                                                                   |
- Kustuta taastevõtmed    | Eemalda salvestatud võtme varukoopia sellest seadmest                                                                                                                                                                                 |
- Protection Level        | Pakettide autentsus – kuidas käsitletakse allkirjastamata või edastatud pakette: **range**, **tasakaalustatud** või **ühilduv** (nõuab toetavat püsivara; range režiimi puhul küsitakse kinnitust) |
-
-![Parooli väli](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Seaded — moodulid ja admin](settings-module-admin) — valikulised funktsioonimoodulid ja seadme haldamine
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa konfiguratsioon](https://meshtastic.org/docs/configuration/radio/lora) — üksikasjalik LoRa sätete juhend aadressil meshtastic.org
-- [Esialgne konfiguratsioon](https://meshtastic.org/docs/getting-started/initial-config) — piirkonna seadistamise juhend meshtastic.org lehel
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/signal-meter.html b/v2.8.0/docs/et-rEE/user/signal-meter.html deleted file mode 100644 index 2313649935..0000000000 --- a/v2.8.0/docs/et-rEE/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Kuidas Meshtastic signaalimõõtur töötab - - - -
# Kuidas Meshtastic signaalimõõtur töötab
-
-Meshtastici signaalimõõtur – rakenduses tuttavad tulbad või olekuvärv – arvutatakse väga erinevalt traditsioonilise mobiiltelefoni või WiFi-ruuteri „tulpadest”.
-
-Most consumer devices simply measure how "loud" a signal is. Kuna Meshtastic kasutab **LoRa (Long Range)** tehnoloogiat, mõõdab selle signaalimõõtja signaali **selgust** võrreldes sinu võrgu konkreetsete sätetega.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. Seepärast näed Meshtasticus sageli **negatiivseid SNR numbreid** (nt -10 dB, mis tähendab, et signaal on 10 detsibelli nõrgem kui taustamüra).
-
-Sõltuvalt sellest, millist Meshtastic eelhäälestust kasutad (nt `PikkKauge` vs. `LühikeKiire`), on raadiol kindel **SNR-i piirang** – absoluutne maksimaalne müra hulk, mida see talub enne, kui sõnum staatilise müra tõttu täielikult kaob.
-
------ | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Hea      | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Rahuldav | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Halb     | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Puudub   | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Märkus:** Fikseeritud SNR lävesid, mida võisid mujal näha (`-7 dB` / `-15 dB`), kasutatakse nüüd ainult üksikute hüpete rõhutamiseks traceroute'i tulemustes – mitte siin kirjeldatud sõlmepõhise signaalimõõtja jaoks.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/tak.html b/v2.8.0/docs/et-rEE/user/tak.html deleted file mode 100644 index 0e10449f16..0000000000 --- a/v2.8.0/docs/et-rEE/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic lõimub Team Awareness Kit (TAK) ökosüsteemiga, võimaldades Meshtastic kärgvõrgu seadmete ja TAK-rakenduste (nt ATAK ja WinTAK) koostalitlusvõimet.
-
-## Overview
-
-TAK moodul võimaldab Meshtastic sõlmedel:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Kuvatakse meeskonnaliikmetena TAK kaardil
-- Receive TAK PLI (Position Location Information) messages
-
-## Seadistamine
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) või WinTAK on paigaldatud
-- Meshtastic ATAK plugin on paigaldatud
-- TAK moodul on sinu Meshtastic raadios lubatud
-
-### Sätted
-
-1. Mine menüüsse **Seaded → Mooduli konfiguratsioon → TAK**.
-2. Luba TAK moodul.
-3. TAK meeskonna/grupi seadistamine:
-
-![Mooduli lüliti](/assets/screenshots/settings_switch.png)
-
- Sätted  | Kirjeldus                    |
- ------- | ---------------------------- |
- Lubatud | TAK-i interopi aktiveerimine |
- Mode    | TAK-compatible output mode   |
-
-### ATAK plugina sätted
-
-1. Paigalda pluginate hoidlast Meshtastic ATAK plugin.
-2. Ava ATAK ja luba Meshtastic plugin.
-3. Plugin sildab sõnumeid ATAKi ja kärgvõrgu vahel.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-TAKiga seotud rollidega seadistatud sõlmed käituvad tavalistest klientidest erinevalt:
-
- Roll                  | Kirjeldus                                                                                                                                                                                                                                                                                                  |
- --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**               | Täielik TAK koostalitlusvõime – saadab ja võtab vastu CoT andmeid, vestlussõnumeid ja PLI-uuendusi. Functions as a standard client plus TAK bridge.                                                                                                                        |
- **TAK jälgimisseade** | Ainult asukohapõhine TAK väljund – levitab PLI automaatselt regulaarsete intervallidega ilma kasutaja sekkumiseta. Optimeeritud järelevalveta asukohamajakate (sõidukid, seadmed, teekonnapunktid) jaoks. Does not relay chat messages. |
-
-> 💡 **Vihje:** Kasuta **TAK jälgimisseadet** seadmete puhul, mis peavad edastama ainult asukohta (nt sõidukisse paigaldatud raadio). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic teisendab oma sisemised protobuf-sõnumid TAK-süsteemidega ühendamisel CoT-vormingusse, seega pole käsitsi vormingu teisendamist vaja.
-
-## TAK Identity
-
-TAK rollide kasutamisel levitab sinu sõlm identiteediteavet, mis kuvatakse TAK kaartidel:
-
- Sätted         | Kirjeldus                                                                                            |
- -------------- | ---------------------------------------------------------------------------------------------------- |
- Meeskonna värv | Sinu meeskonna värv TAK kaardil (nt sinine, punane, tsüaansinine, roheline)       |
- Liikme roll    | Sinu operatiivne roll (meeskonnaliige, meeskonnajuht, peakorter, meedik, RTO jne) |
-
-Need sätted kuvatakse menüüs **Seaded → Mooduli konfiguratsioon → TAK**, kui TAK moodul on lubatud. Sinu TAK kutsung ei ole eraldi säte – see tuletatakse automaatselt sinu Meshtastic sõlme nimest.
-
-> 💡 **Vihje:** Meeskonna/rolli värvid on TAK standardsed kuuluvusvärvid. Koordineeri oma TAK meeskonnaga järjepidevat meeskonnatöö jagamist.
-
-## Sõnumivorming (V1 / V2)
-
-Meshtastic toetab kahte TAK sõnumivormingut, mis valitakse ühendatud raadio püsivara põhjal automaatselt – käsitsi konfigureerimist pole vaja:
-
- Vorming                          | Compatibility                                           | Features                                                                                                                                                                                                           |
- -------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)   | Püsivara 2.7.x ja vanem | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (praegune) | Püsivara 2.8.0+         | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-Sõlm edastab vanematelt sõlmedelt pärit V1 pakette isegi V2 kasutamise ajal, seega sega-püsivaraga võrgud töötavad edasi.
-
-## Kasutamine koos ATAKiga
-
-Kui on seadistatud:
-
-- Meshtastic sõlmed ilmuvad ATAK kaardil markeritena koos kutsungi nimega
-- Chat messages can bridge between mesh and TAK networks
-- Asukohavärskendused liiguvad Meshtasticu ja TAKi vahel kahesuunaliselt
-- TAK jälgimisseadme sõlmed levitavad PLId automaatselt – nende asukohad kuvatakse ATAK kaartidel ilma ATAK poolse konfita
-
-> ⚠️ **Märkus:** TAK-i integratsioon nõuab spetsiifilisi sõlmerolle ja mooduli seadistust. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                     | Cause                                                                                                                | Solution                                                                                                   |
- ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
- Sõlme ei kuvata ATAK kaardile               | TAK moodul on keelatud või vale roll                                                                                 | Veendu, et TAK moodul on lubatud ja sõlme roll on TAK või TAK jälgimisseade                                |
- Asukohavärskendused on aegunud              | GPS fix lost or interval too long                                                                                    | Kontrolli GPSi olekut; vähenda asukoha konfis asukoha levitamise intervalli                                |
- ATAK plugin kuvab teadet „ühendus katkenud” | BLE connection lost or plugin crashed                                                                                | Ühenda Meshtastic rakenduses sinihammas uuesti ja seejärel taaskäivita ATAK plugin                         |
- Shapes, markers, or routes not bridging     | Saatja sõlm kasutab pärandversiooni V1 (püsivara 2.7.x või vanem) | Värskenda saatva sõlme püsivara versioonile 2.8.0+ sõnumivormingu V2 jaoks |
- CoT data not flowing                        | Kanali mittevastavus                                                                                                 | Kõik TAK-sõlmed peavad olema samal kanalil ja sama krüpteeringuga                                          |
-
-## Security Considerations
-
-- TAK andmed jagavad sinu asukohta ja kutsungit
-- TAKi kasutamisel tundlikes keskkondades veendu, et kanali krüpteerimine on seadistatud
-- TAK moodul arvestab sama kanali krüptimist nagu teised Meshtasticu sõnumid
-
-## Related Topics
-
-- [Seaded — moodulid ja admin](settings-module-admin) — TAK mooduli konf
-- [Sõlmed](nodes) — TAK ja TAK jälgimisseade rollid sõlmede loendis
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugina juhend](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — üksikasjalik ATAK seadistamine aadressil meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/telemetry-and-sensors.html b/v2.8.0/docs/et-rEE/user/telemetry-and-sensors.html deleted file mode 100644 index d8e71f08df..0000000000 --- a/v2.8.0/docs/et-rEE/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemeetria & Sensorid - - - -
# Telemetria & sensorid
-
-Meshtastic sõlmed saavad koguda ja jagada andurite andmeid kärgvõrgu kaudu.
-
-## Ülevaade
-
-Telemeetria võimaldab anduritega varustatud sõlmedel levitada keskkonna-, energiatarbimise ja seadme terviseteavet. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-Kõik Meshtastic sõlmed edastavad seadme põhitelemeetriat:
-
- Meetriline       | Kirjeldus                      | Tüüpiline ulatus                   |
- ---------------- | ------------------------------ | ---------------------------------- |
- Aku tase         | Charge percentage              | 0–100%                             |
- Vool             | Aku pinge                      | 3,0–4,2V (LiPo) |
- Kanali kasutus   | % of airtime used locally      | 0–100%                             |
- Eetri kasutus TX | % of airtime used by this node | 0–100%                             |
- Töötamise aeg    | Seconds since last boot        | Varies                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Andur   | Temperatuur | Niiskus | Õhurõhk | Sõnumid                 |
- ------- | ----------- | ------- | ------- | ----------------------- |
- BME280  | ✓           | ✓       | ✓       | Recommended all-in-one  |
- BME680  | ✓           | ✓       | ✓       | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓       | —       | High accuracy           |
- MCP9808 | ✓           | —       | —       | Precision temperature   |
- LPS22   | —           | —       | ✓       | Pressure only           |
-
-### Air Quality
-
- Andur    | Meetriline                   | Sõnumid                    |
- -------- | ---------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ         | Volatile organic compounds |
- PMSA003I | PM1,0, PM2,5, PM10           | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity | Multi-sensor               |
-
-### Valgus & UV
-
- Andur    | Meetriline                              |
- -------- | --------------------------------------- |
- OPT3001  | Ambient valgus (lux) |
- VEML7700 | Ambient valgus (lux) |
- LTR390   | UV indeks                               |
-
-## Võimsusnäitajad
-
-Nodes with INA-series power sensors can report:
-
- Meetriline  | Kirjeldus                                 |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Pinge       | Power consumption (mA) |
- Toide       | Calculated power (mW)  |
-
-Kasulik päikesepaneelide laadimise või aku seisundi jälgimiseks kaugsõlmedes.
-
-## Configuring Telemetry
-
-1. Mine menüüsse **Seaded → Mooduli konfiguratsioon → Telemeetria**.
-2. Set reporting intervals:
-   - **Seadme mõõdikute intervall** – kui tihti seadme mõõdikuid levitada
-   - **Keskkonnamõõdikute intervall** – kui tihti anduriandmeid levitada
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Aku säilitus                               | 7200                          | 7200                               |
-
-> ⚠️ **Märkus:** Lühemad intervallid suurendavad saate kasutusaega ja aku tühjenemist.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Meetriline            | Unit  | Kirjeldus                         |
- --------------------- | ----- | --------------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter      |
- PM2.5 | µg/m³ | Fine particulate matter           |
- PM10                  | µg/m³ | Coarse particulate matter         |
- CO₂                   | ppm   | Süsinikdioksiidi kontsentratsioon |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Õhukvaliteedi andmeid saab vaadata infokaartidena sõlme detailvaates, aja jooksul graafikule lisada ja CSV-vormingusse salvestada.
-
-## Viewing Telemetry
-
-1. Mine **Seadmed** ja vali seade.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **Keskkonnaandmeid ei kuvata?** Kaugühenduse jaoks on vaja ühendada füüsiline andur (nt BME280 I2C-l). Seadme telemeetria (aku, tööaeg) on ​​alati saadaval, kuid keskkonnamõõdikute jaoks on vaja riistvara.
-- **Vananenud näidud?** Kontrolli aruandlusintervalli – väga pikad intervallid (7200+ sekundit) tähendavad harva andmete uuendamist. Samuti veendu, et kaugsõlm on endiselt võrgus.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. Kui samal siinil on mitu andurit, kontrolli raadio jadapordi arendajaväljundis aadresside kokkupõrkeid.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Seaded — Moodulid ja administreerimine](settings-module-admin) — telemeetriamooduli konfiguratsioon
-- [Ühikud ja lokaat](units-and-locale) — temperatuuri ja rõhu kuvamise ühikud
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/translate.html b/v2.8.0/docs/et-rEE/user/translate.html deleted file mode 100644 index 340f2b1496..0000000000 --- a/v2.8.0/docs/et-rEE/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Tõlgi rakendus - - - -
# Tõlgi rakendus
-
-Tõlgete koostamisele kaasaaitamine aitab Meshtasticut laiemale publikule kättesaadavaks teha. Rakendus kasutab nii kasutajaliidese kui ka rakendusesisese dokumentatsiooni kogukonna tõlgete haldamiseks [Crowdinit](https://crowdin.com/).
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Märkus:** Arendaja juhend ainult inglise keeles. Kaastöölistele suunatud koodikeskset dokumentatsiooni ei tõlgita.
-
-## Lisa uus keel
-
-Kui teie keelt Crowdinis veel pole:
-
-1. Ava probleem [GitHubis](https://github.com/meshtastic/Meshtastic-Android/issues/new) ja taotle uut lokaati.
-2. Hooldaja lisab keele Crowdinile ja seadistab faili `crowdin.yml`.
-3. Pärast lisamist saad kohe tõlkima hakata.
-
-## Translation Guidelines
-
-- **Ära tõlgi** tehnilisi termineid nagu "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — need on universaalsed.
-- **Jäta kohatäited puutumata.** Stringid nagu `%1$s` või `%d` täidetakse käitusajal. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Testi võimalusel.** Vaheta seadme keelt ja ava rakendus, et näha, kuidas tõlked kontekstis välja näevad.
-
----
-
-## Questions?
-
-Kui on küsimusi konkreetse stringi konteksti kohta või vajad abi alustamiseks, ava arutelu lehel [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions).
-
-Tänan teid Meshtasticu haardeala laiendamise eest!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/units-and-locale.html b/v2.8.0/docs/et-rEE/user/units-and-locale.html deleted file mode 100644 index e476149c20..0000000000 --- a/v2.8.0/docs/et-rEE/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Ühikud, mõõtühikud ja lokaat - - - -
# Ühikud, mõõtühikud ja lokaat
-
-Meshtastic rakendus kuvab automaatselt temperatuure, vahemaid, kiirusi ja aegu ühikutes, milleks sinu seade on seadistatud – rakenduses pole vaja sätteid muuta.
-
-## Temperatuur
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Sinu sätted | Teadmiseks |
- ----------- | ---------- |
- Celsius     | 22°C       |
- Fahrenheit  | 72°F       |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Sinu sätted                      | Small Distance | Large Distance         | Kõrgus   |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Meetriline                       | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-Rakendus kasutab loomulikku skaleerimist – lühikesed vahemaad jäävad meetritesse või jalgadesse, pikemad vahemaad aga muutuvad automaatselt kilomeetriteks või miilideks.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Kaart** — teekonnapunktide vahemaad, traceroute'i hüppevahemaad
-- **Compass** — distance to selected node
-
-## Kiirus
-
-GPSi maapealne kiirus kuvatakse lokaadi eelistatud kiiruseühikus.
-
- Sinu sätted                      | Teadmiseks |
- -------------------------------- | ---------- |
- Meetriline                       | 12 km/h    |
- Imperial (US) | 7 mph      |
-
-## Tuul
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Sinu sätted                      | Teadmiseks |
- -------------------------------- | ---------- |
- Meetriline                       | 5 m/s      |
- Imperial (US) | 11 mph     |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Sinu sätted                      | Teadmiseks |
- -------------------------------- | ---------- |
- Meetriline                       | 12 mm      |
- Imperial (US) | 0,5 in     |
-
-## Units That Never Change
-
-Mõned ühikud on rahvusvahelised standardid ja neid kuvatakse ühtemoodi olenemata lokaat:
-
- Measurement                 | Unit                           | Why                                   |
- --------------------------- | ------------------------------ | ------------------------------------- |
- Baromeetrii rõhk            | hPa                            | International meteorological standard |
- Heading / bearing           | ° (degrees) | Universal navigation convention       |
- Radiatsioon                 | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates             | decimal degrees                | Universal geographic standard         |
- Niiskus, aku, mulla niiskus | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Sätted               | What It Controls | Example                                          |
- -------------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time**     | Kella vorming    | 14:30 vs 2:30 PM |
- **Kuupäeva vorming** | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Tagasi Meshtastic juurde — väärtused värskendatakse kohe
-
-> 💡 **Vihje:** Kogu mõõtühikute vormindamine toimub tsentraalselt ja arvestab platvormi lokaaduga, seega püsivad ühikud kogu rakenduses ühtsed.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemeetia & Sensorid](telemetry-and-sensors) — andurid, mis neid mõõtmisi teevad
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/et-rEE/user/widget.html b/v2.8.0/docs/et-rEE/user/widget.html deleted file mode 100644 index 10bc0de8f7..0000000000 --- a/v2.8.0/docs/et-rEE/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-Androidis pakub Meshtastic avakuva **vidinat**, mis näitab teie ühendatud raadio reaalajas kohalikku statistikat – rakendust pole vaja avada.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Aku** – raadio aku tase või _Toitel_, kui see töötab välise toiteallikaga
-- **ChUtil** — kanali kasutus (kui hõivatud on LoRa kanal protsentides)
-- **AirUtil** — eetriaega (kui suurt osa töötsüklist raadio edastab)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Vihje:** Väärtused kajastavad raadiojaama, millega olete hetkel ühendatud. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Leia loendist **Meshtastic** ja lohista **Kohaliku statistika** vidin oma avakuvale.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Märkus:** Vidin on ainult Androidile. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Avasta](Discovery) — kanali ja eetriaja kasutamine kärgvõrgu ulatuses
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/android-auto.html b/v2.8.0/docs/fi-rFI/user/android-auto.html deleted file mode 100644 index bad0959ce5..0000000000 --- a/v2.8.0/docs/fi-rFI/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integroituu Android Auton kanssa, joten voit pysyä yhteydessä mesh-verkkoosi ajon aikana ilman, että otat käsiä pois ratista tai katsetta tiestä.
-
-> ⚠️ **Huom:** Android Auto -tuki on saatavilla vain **Google-version Android-laitteissa**. Sitä ei ole mukana F-Droid-versiossa, eikä se ole saatavilla työpöydällä tai iOS:ssä.
-
-> ℹ️ **Mitä on saatavilla tällä hetkellä:** Google Play -versio tarjoaa tällä hetkellä **vain ilmoituksiin perustuvan** viestituen autoon – saapuvat viestit luetaan auton näytöllä, ja voit vastata niihin sen ilmoitusohjaimilla. Alla kuvattu välilehdellinen **Viestit / Radiot / Tila** -kokemus on Android Car App Libraryyn perustuva beetaversio (Googlen Android Car -mallit ovat toistaiseksi rajoitettuja suljettuihin/sisäisiin Play-jakeluihin), joten se näkyy vain versioissa, jotka on käännetty asetuksella `-PenableCarTemplates=true`. Tämän sivun loppuosa kuvaa tätä beetakokemusta.
-
-## Yleiskatsaus
-
-Kun puhelimesi on yhdistetty Android Auto -laitteeseen (tai kehityksessä käytettävään Desktop Head Unit -emulaattoriin), beetaversio näyttää Meshtasticin Android Car App Libraryyn perustuvana viestisovelluksena, jossa on ajon aikaiseen käyttöön optimoitu välilehdellinen aloitusnäyttö:
-
-- **Viestit** — viimeisimmät keskustelut, ääneen luettava ja äänellä vastattava.
-- **Radiot** — mesh-verkon radiolista, sisältää radion yksityiskohtaisen näkymän.
-- **Tila** — nykyinen yhteys- ja mesh-verkon tila.
-
-Autosovellus ei luo omaa yhteyttä. Se käyttää Meshtastic-sovelluksen olemassa olevaa yhteyttä, radioa ja viestitilaa, joten se heijastaa sitä, mihin puhelimesi on jo yhdistetty.
-
-> ⚠️ **Huom:** Puhelimen täytyy olla yhdistetty Meshtastic-radioon, jotta autosovellus näyttää reaaliaikaista dataa. Jos sovellus ei ole yhdistetty, auton näyttö näyttää katkaistun yhteyden tilan.
-
-## Viestit
-
-Viestit-välilehti näyttää viimeisimmät keskustelusi. Ajon aikana voit:
-
-- **Kuunnella viestit ääneen**, jotta sinun ei tarvitse katsoa näyttöä.
-- **Vastata äänellä tai tekstillä** käyttämällä pääyksikön vastaustoimintoa ja sanella vastauksesi hands-free-tilassa.
-
-## Laitteet
-
-Radiot-välilehti näyttää mesh-verkon radiolistan ajamiseen sopivassa näkymässä. Radion valinta avaa yksityiskohtaisen näkymän, jossa näkyy tärkeimmät tiedot kyseisestä radiosta. Katso [Radiot](nodes) saadaksesi täydellisen selityksen näytettävistä tiedoista.
-
-## Tila
-
-Tila-välilehti näyttää nykyisen yhteyden ja mesh-verkon tilan yhdellä silmäyksellä — hyödyllinen varmistamaan, että olet yhä yhteydessä radioon ilman puhelimen avaamista.
-
-## Aiheeseen liittyvät aiheet
-
-- [Viestit ja kanavat](messages-and-channels) — kaikki viestitoiminnot puhelimessa
-- [Radiot](nodes) — yksityiskohtainen radiolista ja radion tietonäkymä
-- [Yhteydet](connections) — miten sovellus yhdistyy radioon
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/app-functions.html b/v2.8.0/docs/fi-rFI/user/app-functions.html deleted file mode 100644 index d97ef88bbb..0000000000 --- a/v2.8.0/docs/fi-rFI/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - Sovellustoiminnot - - - -
# Sovellustoiminnot
-
-Sovellustoiminnot tuovat Meshtastic-ominaisuudet Android-järjestelmälle ja laitteessa toimiville tekoälyavustajille (kuten Gemini) Android App Functions -rajapinnan kautta. Kun ne ovat käytössä, avustaja voi löytää ja käynnistää mesh-toimintoja puolestasi — esimerkiksi lähettää viestin tai tarkistaa mesh-tilan — ilman että avaat sovellusta.
-
-> ⚠️ **Huom:** Sovellustoiminnot ovat saatavilla vain **Google-version Android-laitteissa**.
-
-> ⚠️ **Huom:** Tämä on erillinen in-app **Chirpy** -avustajasta. Sovellustoiminnot mahdollistavat sen, että _järjestelmän_ tekoälyavustaja voi toimia mesh-verkon kautta; Chirpy on Meshtastic-sovelluksen sisäinen keskusteluavustaja.
-
-## Sovellustoimintojen käyttöönotto
-
-Sovellustoimintoja hallitaan kohdasta **Asetukset → Järjestelmän tekoäly** (sovelluksen näkymän nimi on "Järjestelmän tekoäly"). Näyttö sisältää:
-
-- **Pääkytkin**, nimeltään **"Salli tekoälyn käyttö"**, ja alaotsikko _"Salli järjestelmän tekoälyavustajien (esim. Gemini) löytää ja käyttää mesh-toimintoja"_. Kun pois käytöstä, toimintoja ei jaeta järjestelmälle.
-- Yksittäinen kytkin jokaiselle toiminnolle, jotta voit paljastaa vain haluamasi ominaisuudet.
-
-Toiminnot on jaettu **Kirjoita**-osioon (toiminnot, jotka muuttavat jotakin tai lähettävät dataa mesh-verkkoon) ja **Lue**-osioon (toiminnot, jotka palauttavat vain tietoa).
-
-![Sovellustoimintojen näkymä, jossa on pääkytkin ja toimintokohtaiset kytkimet](../../assets/screenshots/app-functions_settings.png)
-
-### Kirjoitustoiminnot
-
- Toiminto          | Mitä se tekee                                                                                                          |
- ----------------- | ---------------------------------------------------------------------------------------------------------------------- |
- **Lähetä viesti** | Lähettää tekstiviestin kontaktille (suora viesti) tai kanavaan, enintään 237 tavua. |
-
-### Lukutoiminnot
-
- Toiminto                         | Mitä se palauttaa                                           |
- -------------------------------- | ----------------------------------------------------------- |
- **Hae mesh-verkko-tila**         | Koko mesh-verkon tila.                      |
- **Hae radiolista**               | Mesh-verkon radiolista.                     |
- **Hae kanavatiedot**             | Tietoa kanavistasi.                         |
- **Hae laitteen tila**            | Yhdistetyn radion tila.                     |
- **Hae radion tiedot**            | Yksityiskohtaiset tiedot tietystä radiosta. |
- **Hae viimeisimmät viestit**     | Viimeisimmät viestisi keskusteluista.       |
- **Hae lukemattomien yhteenveto** | Yhteenveto lukemattomista viesteistä.       |
- **Hae mesh-metriikat**           | Mesh-verkon telemetria ja metriikat.        |
-
-## Yksityisyys
-
-> 🔒 **Tietosuoja:** **Lähetä viesti** -toiminnon avulla avustaja voi lähettää viestejä mesh-verkkoosi puolestasi. Ota käyttöön vain ne toiminnot, joihin luotat avustajan saavan käyttää. Lukutoiminnot tuovat radion, viestien ja metriikoiden tiedot avustajan käyttöön — ota käyttöön vain se, mitä haluat jakaa. Jokaisella toiminnolla on oma kytkin, ja pääkytkin poistaa kaikki käytöstä kerralla.
-
-## Aiheeseen liittyvät aiheet
-
-- [Viestit ja kanavat](messages-and-channels) — viestien lähettäminen suoraan sovelluksessa
-- [Radiot](nodes) — radiolista, josta lukutoiminnot hakevat tiedot
-- [Radiometriikat](node-metrics) — telemetria, jonka pohjalta **Hae mesh-metriikat** muodostuu
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/connections.html b/v2.8.0/docs/fi-rFI/user/connections.html deleted file mode 100644 index 1374d873c1..0000000000 --- a/v2.8.0/docs/fi-rFI/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Yhteydet - - - -
# Yhteydet
-
-Meshtastic tukee useita siirtotapoja puhelimen/työpöydän ja radion välillä viestimiseen.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy on oletus ja yleisin yhteystapa Androidilla.
-
-### Laitteen pariliitos
-
-1. Varmista, että Meshtastic-radio on päällä ja paritustilassa.
-2. Avaa sovellus ja siirry **Yhdistä**-välilehdelle.
-3. Napauta **Hae bluetooth-laitteita** — lähellä olevat Meshtastic-radiot ilmestyvät näkyville.
-4. Valitse laitteesi listasta.
-5. Hyväksy Bluetooth-pariliitospyyntö, jos se tulee näkyviin.
-
-![Bluetooth-laitteiden haku, jossa löytynyt radio näkyy luettelossa](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Vaihda bluetooth-, verkko- ja USB-yhteyksien välillä käyttämällä yhteyskortin alapuolella olevaa yhteysvalitsinta (vain yksi yhteystapa voi olla aktiivinen kerrallaan):
-
-![Yhteysvalitsin](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Vinkki:** Jos laitteesi ei näy, varmista että Bluetooth ja sijaintiluvat on myönnetty ja että radio ei ole jo yhdistettynä toiseen laitteeseen.
-
-### Yhteyden tila
-
- Ikoni | Tila          | Kuvaus                             |
- ----- | ------------- | ---------------------------------- |
- 🟢    | Yhdistetty    | Aktiivinen radiolinkki muodostettu |
- 🟡    | Yhdistetään   | Yhteyden muodostus käynnissä       |
- 🔴    | Ei yhdistetty | Ei aktiivista yhteyttä             |
- ⚪     | Ei määritetty | Ei laitetta valittuna              |
-
-Yhdistettäessä tilailmaisin näyttää nykyisen yhteyden tilan:
-
-![Yhdistämisen tila](../../assets/screenshots/connections_connecting.png)
-
-Jos laitteita ei löydy, sovellus näyttää tyhjän näkymän ohjeiden kanssa:
-
-![Laitteita ei löytynyt](../../assets/screenshots/connections_empty_state.png)
-
-### Bluetoothin vianmääritys
-
-- **Laitetta ei löydy:** Kytke Bluetooth pois/päälle ja varmista, että sijainti on käytössä.
-- **Yhteys katkeaa:** Siirry lähemmäs radiota ja tarkista mahdolliset häiriöt.
-- **Paritus hylätty:** Poista laite Androidin Bluetooth-asetuksista ja yritä uudelleen.
-
-## USB-sarjaporttiyhteys
-
-USB-yhteydet tarjoavat langallisen vaihtoehdon, hyödyllinen työpöytäkäytössä tai kun Bluetooth ei ole käytettävissä.
-
-### Asetukset
-
-1. Yhdistä radio USB-kaapelilla laitteeseesi.
-2. Sovellus pyytää USB-oikeuksia — paina **Salli**.
-3. Yhteys muodostetaan automaattisesti.
-
-> ⚠️ **Huom:** USB-yhteydet vaativat OTG-tuen Android-laitteissa.
-
-## TCP/IP (Verkko)
-
-Jotkin Meshtastic-radiot tukevat WiFi tai Ethernet-yhteyttä, mikä mahdollistaa TCP-pohjaiset yhteydet lähiverkkosi kautta. Liitä radio ensin verkkoon käyttämällä radion omia WiFi-asetuksia (laiteohjelmiston verkkokäyttöliittymän tai muun yhteystavan kautta) — yhdistä siihen sitten sovelluksesta.
-
-### Yhdistäminen verkon kautta
-
-1. Varmista, että radio on samassa lähiverkossa kuin puhelimesi tai tietokoneesi.
-2. Valitse yhdistä-näytössä yhteysvalitsimesta **Verkko**.
-3. Valitse radio jommallakummalla seuraavista tavoista:
-   - **Hae verkkolaitteita** — ota tämä käyttöön, jotta lähiverkossa itsensä ilmoittavat radiot löytyvät automaattisesti (mDNS / `_meshtastic._tcp`). Löydetyt laitteet näkyvät luettelossa; yhdistä napauttamalla haluamaasi laitetta.
-   - **Lisää laite manuaalisesti** — anna radion IP-osoite (tai isäntänimi) ja portti (oletus: `4403`).
-4. Aiemmin käytetyt verkko-osoitteet tallennetaan **Viimeisimmät verkkolaitteet** -osioon nopeaa uudelleenyhdistämistä varten (poista pitämällä painettuna).
-
-> 💡 **Vinkki:** Verkkolaitteiden haku käyttää mDNS:ää, joka toimii vain, kun molemmat laitteet ovat samassa aliverkossa. Android 17:ssä ja uudemmissa versioissa sovellus tarvitsee lähiverkon käyttöoikeuden laitteiden hakuun. Jos haku ei löydä mitään, lisää laite manuaalisesti IP-osoitteella.
-
-### Milloin TCP-yhteyttä kannattaa käyttää
-
-- Radio on samassa lähiverkossa
-- Testaus simuloidulla radiolla
-- Ympäristöt, joissa Bluetoothissa on häiriöongelmia
-
-## Uudelleenyhdistämisen toiminta
-
-Sovellus yhdistyy käynnistyksen yhteydessä **viimeksi valittuun laitteeseen**. Voit vaihtaa yhteystapaa Yhdistä-näkymästä milloin tahansa.
-
-Yhteyden katkaisemiseksi paina Yhdistä-näkymän katkaisupainiketta:
-
-![Katkaise yhteys radiosta](../../assets/screenshots/connections_disconnect.png)
-
-## Työpöytäyhteydet
-
-Työpöydällä (Linux/macOS/Windows) sovellus tukee:
-
-- **Bluetooth (BLE)** — Kable-kirjaston kautta; toimii macOS:llä, Linuxilla ja Windowsilla
-- **USB-sarjaportti** — ensisijainen langallinen yhteystapa
-- **TCP/IP** — verkkoyhteydellä oleville radioille
-
-Katso [Työpöytäsovellus](desktop) alustakohtaiset tiedot ja pikanäppäimet.
-
-## Aiheeseen liittyvät aiheet
-
-- [Aloitus](onboarding) — ensikäynnistyksen käyttöönotto ja käyttöoikeudet
-- [Asetukset — Radio & käyttäjä](settings-radio-user) — Bluetooth- ja verkkoasetukset
-- [Työpöytäsovellus](desktop) — työpöytäkohtaiset yhteystiedot
-- [Tuetut laitteet](https://meshtastic.org/docs/hardware/devices) — täydellinen lista yhteensopivista radioista meshtastic.org -sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/debug-logs.html b/v2.8.0/docs/fi-rFI/user/debug-logs.html deleted file mode 100644 index c28119537d..0000000000 --- a/v2.8.0/docs/fi-rFI/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Virheenjäljityslokitiedot - - - -
# Virheenjäljityslokitiedot
-
-Kun jokin toimii odottamattomasti, sovelluksen virheenjäljityslokitiedot ovat hyödyllisin liite vikaraporttiin. Meshtastic voi kerätä ne **puolestasi suoraan sovelluksessa** — et enää tarvitse `adb`:tä tai työpöytätyökaluja niiden keräämiseen.
-
-Avaa **Virheenjäljityspaneeli** kohdasta **Asetukset → Lisäasetukset → Virheenjäljityspaneeli**.
-
-> 💡 **Ilmoitatko ongelmasta?** Vie lokitiedot (katso alla) ja liitä `.txt`-tiedosto raporttiisi osoitteessa [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). Lokitietotallenne, joka kattaa hetken jolloin ongelma ilmeni, auttaa muuttamaan "ei toimi" -kuvauksen sellaiseksi, jonka kehittäjä pystyy oikeasti selvittämään.
-
-## Kaksi välilehteä
-
-Virheenjäljityspaneelissa on kaksi välilehteä:
-
-- **Paketit** — radion lähettämä ja vastaanottama purettu mesh-liikenne (protokollatason viestit). Hyödyllinen mesh-verkon ja reitityksen toiminnan diagnosointiin.
-- **Sovelluslokitiedot** — sovelluksen oma diagnostiikkaloki (Androidin _logcat_), joka sisältää varoitukset, virheet ja pinoseurannat itse sovelluksesta. Tätä tarvitaan yleensä vikaraportissa.
-
-Jokaisella välilehdellä on oma **Vie**-painikkeensa, ja kumpikin tuottaa oman tiedostonsa. Voit siis liittää raporttiin vain tarvittavan tiedoston tai molemmat.
-
-## Sovelluslokitietojen tarkastelu
-
-**Sovelluslokitiedot**-välilehti näyttää viimeisimmät lokirivit **vain tästä sovelluksesta** — ei koskaan muista laitteesi sovelluksista.
-
-- **Haku** — kirjoita hakukenttään suodattaaksesi vastaavat lokirivit.
-- **Tasosuodatin** — **V / D / I / W / E** -painikkeilla voit näyttää tai piilottaa Verbose-, Debug-, Info-, Warn- ja Error-lokirivit. Piilota taso napauttamalla sitä. Napauta uudelleen, niin se tulee takaisin näkyviin. Vakavat virheet näytetään aina.
-- **Päivitä** — päivityskuvake lukee uusimmat lokitiedot uudelleen.
-
-Virhe- ja varoitusrivit on korostettu, jotta ongelmat erottuvat paremmin.
-
-## Lokien vienti
-
-Napauta **latauskuvaketta** tallentaaksesi nykyiset lokitiedot tiedostoon. Valitset tallennuspaikan järjestelmän tiedostonvalitsimessa, ja tiedosto nimetään aikaleimalla (esimerkiksi `meshtastic_logcat_20260701_143312.txt`), jotta aiemmat viennit eivät ylikirjoitu.
-
-Liitä tämä tiedosto GitHub-vikaraporttiisi.
-
-> 🔒 **Tietosuoja:** Viennit **peittävät automaattisesti** yksityiset avaimet, ylläpitoavaimet ja istuntoavaimet ennen tiedoston kirjoittamista. Kanavien PSK-avaimia **ei** peitetä, ja lokit voivat sisältää myös radioiden nimiä, sijainteja ja muita tunnistetietoja. Tarkista tiedosto ennen sen julkista jakamista, ja jos olet epävarma, jaa se yksityisesti.
-
-## Työpöytä
-
-Työpöytäsovelluksessa ei ole järjestelmän logcat-lokitietoa, joten **Sovelluslokit**-välilehti näyttää sen sijaan sovelluksen itse keräämät lokit. Haku, suodatus ja vienti toimivat samalla tavalla.
-
-## Aiheeseen liittyvät aiheet
-
-- [Ohjeet ja sovelluksen sisäinen dokumentaatio](help-and-docs) — tämän dokumentaation lukeminen offline-tilassa sovelluksessa
-- [Yhteydet](connections) — jos ongelma liittyy radion yhdistämiseen
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/desktop.html b/v2.8.0/docs/fi-rFI/user/desktop.html deleted file mode 100644 index f955a495bc..0000000000 --- a/v2.8.0/docs/fi-rFI/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Työpöytäsovellus - - - -
# Työpöytäsovellus
-
-Meshtastic-työpöytäsovellus jakaa ydinkoodipohjan Android-version kanssa Kotlin Multiplatformin kautta. Useimmat ominaisuudet toimivat identtisesti Linuxilla, macOS:llä ja Windowsilla.
-
-## Asennus
-
-### Linux
-
-- Lataa `.deb`- tai `.AppImage`-paketti julkaisusivulta
-- Tai rakenna lähdekoodista komennolla `./gradlew :desktopApp:run`
-
-### macOS
-
-- Lataa `.dmg`-paketti julkaisusivulta
-- Tai rakenna lähdekoodista
-
-### Windows
-
-- Lataa `.msi`-asennuspaketti julkaisusivulta
-- Tai rakenna lähdekoodista
-
-## Radioon yhdistäminen
-
-### USB-sarjaportti (ensisijainen)
-
-Luotettavin yhteystapa työpöydällä:
-
-1. Yhdistä Meshtastic-radio USB-kaapelilla.
-2. Sovelluksen pitäisi tunnistaa sarjaportti automaattisesti.
-3. Jos laitetta ei tunnisteta, valitse oikea sarjaportti Yhdistä-valikosta.
-
-### TCP/IP
-
-Verkkoyhteydellä oleville radioille:
-
-1. Syötä radion IP-osoite ja portti (oletus: 4403).
-2. Paina **Yhdistä**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy on tuettu työpöydällä [Kable](https://github.com/JuulLabs/kable)-kirjaston kautta:
-
-1. Varmista, että järjestelmässäsi on Bluetooth-adapteri.
-2. Sovellus etsii lähellä olevia Meshtastic-radioita automaattisesti.
-3. Valitse laitteesi Yhdistä-näkymästä.
-
-## Ominaisuuksien yhtenevyys
-
- Ominaisuus                                                  | Android | Työpöytä | Viestit                                                                                                                        |
- ----------------------------------------------------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
- Viestit                                                     | ✓       | ✓        | Täysi yhtenevyys                                                                                                               |
- Radiolista                                                  | ✓       | ✓        | Täysi yhtenevyys                                                                                                               |
- Kartta                                                      | ✓       | ◐        | Kartta-välilehti on käytettävissä myös Desktop-versiossa, mutta interaktiivinen karttanäkymä on käytettävissä vain Androidissa |
- Asetukset                                                   | ✓       | ✓        | Täysi yhtenevyys                                                                                                               |
- Bluetooth (BLE)                          | ✓       | ✓        | Työpöydällä Kable-kirjaston kautta                                                                                             |
- Laiteohjelmiston päivitys                                   | ✓       | ✓        | Sovelluksen USB-, BLE- ja Wi-Fi-päivitykset (ESP32) toimivat samalla tavalla kuin Androidissa               |
- Ilmoitukset                                                 | ✓       | ✓        | Käyttöjärjestelmän natiivit ilmoitukset                                                                                        |
- Widgetit                                                    | ✓       | ✗        | Vain Android                                                                                                                   |
- Vain Android                                                | ✓       | ✗        | Vain Android — ei saatavilla työpöydällä tai iOS:llä                                                           |
- Tekoälyavustaja (Chirpy)                 | ✓\*     | ✗        | Vain Google-version Android-laitteissa                                                                                         |
- Sovellustoiminnot (järjestelmän tekoäly) | ✓†      | ✗        | Vain Google-version Android-laitteissa                                                                                         |
-
-\*Chirpy AI vaatii Android 14+ -version Google-version Android-laitteissa, joissa on tuettu laitteisto.
-
-†Sovellustoiminnot tuo sovellustoiminnot Android-järjestelmän tekoälylle Google-version Android-laitteissa. Katso [Sovellustoiminnot](app-functions).
-
-## Käyttöliittymäerot
-
-Työpöytäsovellus käyttää samaa Compose Multiplatform -käyttöliittymää, mutta se on mukautettu suuremmille näytöille ja työpöytäkäyttöön.
-
-### Pikanäppäimet
-
-Pikanäppäimissä käytetään macOS:ssä **⌘**-näppäintä (Command) ja Windowsissa sekä Linuxissa **Ctrl**-näppäintä. (Super-/Windows-näppäimelle ei ole määritetty toimintoa.)
-
- Pikanäppäin  | Toiminto                    |
- ------------ | --------------------------- |
- **⌘/Ctrl+Q** | Sulje sovellus              |
- **⌘/Ctrl+,** | Avaa asetukset              |
- **⌘/Ctrl+1** | Vaihda Viestit-välilehdelle |
- **⌘/Ctrl+2** | Vaihda Radiot-välilehdelle  |
- **⌘/Ctrl+3** | Vaihda Kartta-välilehdelle  |
- **⌘/Ctrl+4** | Vaihda Yhdistä-välilehdelle |
- **⌘/Ctrl+/** | Avaa tietoja                |
-
-### Ikkuna ja järjestelmätarjotin
-
-- **Ikkunan koon muuttaminen** — responsiivinen asettelu mukautuu ikkunan kokoon
-- **Järjestelmätarjotin** — pienennä järjestelmätarjottimeen taustalla tapahtuvaa mesh-toimintaa varten
-- **Valikko** — napsauta järjestelmätarjottimen kuvaketta hiiren oikealla näyttääksesi ikkunan tai sulkeaksesi sovelluksen
-- **Hiiritoiminnot** — hover-tilat ja tavallinen työpöydän navigointi
-
-### Ilmoitusasetukset
-
-Työpöytäsovellus tarjoaa sisäiset kytkimet ilmoitusten hallintaan — viestit, uudet radiot ja alhaisen akun varoitukset. Avaa nämä kohdasta **Asetukset → Ilmoitukset** sovelluksessa.
-
-## Sisäänrakennettu dokumentaatioselain
-
-Työpöytäsovellus sisältää sisäänrakennetun dokumentaatioselaimen, jonka avulla ohjeisiin pääsee nopeasti poistumatta sovelluksesta.
-
-![Dokumentaatioselain ja sisällysluettelo](../../assets/screenshots/docs-browser_toc.png)
-
-Selain tukee koko dokumentaation laajuista kokotekstihakua:
-
-![Haku dokumentaatioselaimessa](../../assets/screenshots/docs-browser_search.png)
-
-Yksittäiset dokumenttisivut renderöidään täydellä muotoilulla:
-
-![Dokumenttisivu](../../assets/screenshots/docs-browser_page.png)
-
-## Rakentaminen lähdekoodista
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Vaatimukset:
-
-- JDK 21
-- Android SDK:ta ei tarvita pelkkien työpöytäversioiden rakentamiseen
-
-## Tunnetut rajoitukset
-
-- Interaktiivinen karttanäkymä on käytettävissä vain Androidissa — Kartta-välilehti on työpöytä-versiossa näkyvissä, mutta karttaa ei näytetä
-- Jotkin Android-kohtaiset ominaisuudet (widgetit, tietyt ilmoituskanavat) eivät ole käytettävissä
-- Suorituskyky voi vaihdella heikkotehoisella laitteistolla ajettaessa Compose Desktopia
-- BLE-paritus ei vielä tallenna laiteparia työpöydällä (paritus toimii ilman tallennusta)
-
-## Aiheeseen liittyvät aiheet
-
-- [Yhteydet](connections) — yhteystapojen yleiskatsaus
-- [Laiteohjelmistopäivitykset](firmware) — USB-, BLE- ja Wi-Fi-päivitykset toimivat samalla tavalla kuin Androidissa
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/discovery.html b/v2.8.0/docs/fi-rFI/user/discovery.html deleted file mode 100644 index 6fe9d81643..0000000000 --- a/v2.8.0/docs/fi-rFI/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Haku - - - -
# Haku
-
-Hakutyökalut auttavat ymmärtämään **miten** mesh-verkko on yhteydessä — mitkä radiot kuulevat toisensa, mitä reittejä viestit kulkevat ja missä on pullonkauloja tai heikkoja yhteyksiä.
-
-Sovellus tarjoaa kaksi toisiaan täydentävää lähestymistapaa:
-
-- Paikallinen verkon haku (Scanner) — automaattinen tila, joka kierrättää yhdistettyä radiota eri LoRa-esiasetusten läpi, kuuntelee jokaisella ja arvioi, mikä esiasetus toimii parhaiten sijainnissasi.
-- Manuaalinen etsiminen — reitinselvityksen reitit, naapuritiedot ja radiolista, joita voit käyttää milloin tahansa yksittäisten reittien ja topologian tarkasteluun.
-
---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **LoRa-esiasetuksen valitsin** | Valitse yksi tai useampi esiasetus skannattavaksi. Haku pysähtyy jokaisessa valitussa esiasetuksessa vuorollaan kuuntelemaan liikennettä.                                                                 |
- **Kuunteluaika**               | Kunkin esiasetuksen kuunteluaika. Valitse 1, 5, 15, 30, 45, 60, 90, 120 tai 180 minuuttia. Pidempi kuunteluaika kerää enemmän paketteja ja antaa tarkemman kuvan, mutta kestää pidempään. |
- **Pidä näyttö päällä**         | Valinnainen kytkin, joka estää näytön siirtymisen lepotilaan pitkän skannauksen aikana.                                                                                                                                   |
-
-**Käynnistä**-painike ei ole käytettävissä ja näyttää syyn, kunnes skannaus voidaan suorittaa. Yleisiä syitä, miksi se on pois käytöstä:
-
-- Laite **ei ole yhdistetty**
-- **Esiasetuksia ei ole valittu** skannattavaksi.
-- Valittu esiasetus käyttää **2,4 GHz -taajuutta**, jota laitteistosi ei tue.
-
-### Reaaliaikainen edistyminen
-
-Skannauksen aikana haku näyttää sen nykyisen vaiheen:
-
- Tila                                                          | Mitä tapahtuu                                                                                                               |
- ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
- **Valmistelee**                                               | Tallennetaan nykyinen kokoonpano ja valmistaudutaan skannaukseen.                                           |
- **Vaihdetaan kohteeseen <preset\>** | Vaihdetaan radio seuraavaan esiasetukseen testausta varten.                                                 |
- **Yhdistetään uudelleen**                                     | Yhteys muodostetaan uudelleen esiasetuksen vaihdon jälkeen.                                                 |
- **Kuuntelu**                                                  | Nykyisen esiasetuksen kuuntelu pakettien keräämiseksi, seuraavaan vaiheeseen siirtymisen laskuri käynnissä. |
- **Analyysi**                                                  | Kerättyjen pakettien käsittely ja esiasetusten vertailu ja pisteytys.                                       |
- **Palautetaan asetuksia**                                     | Palautetaan alkuperäinen LoRa-konfiguraatio takaisin.                                                       |
-
-![Kuuntelun laskuri näyttää jäljellä olevan ajan nykyisessä esiasetuksessa](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Tulosten lukeminen
-
-Kun skannaus valmistuu, haku näyttää jokaiselle testatulle esiasetukselle oman tuloskortin sekä yleisen yhteenvedon.
-
-![Esiasetuksen tuloskortti, jossa näkyy sijoitus ja kerätyt mittarit](../../assets/screenshots/discovery_preset_result.png)
-
-Mittarit sisältävät:
-
- Metrijärjestelmä                     | Mitä ne kertovat sinulle                                                                             |
- ------------------------------------ | ---------------------------------------------------------------------------------------------------- |
- Radiolaatu (RF)   | Kyseisen esiasetuksen radioympäristön kokonaislaatu                                                  |
- Kanavan käyttöaste                   | Kuinka kuormitetut radiotaajuudet olivat kuuntelun aikana.                           |
- Lähetysaika                          | Havaittu lähetysaika.                                                                |
- Suorat ja välitetyt radiot           | Kuinka monta mesh-radiota kuultiin suoraan verrattuna välitettyihin.                 |
- Virheelliset / päällekkäiset paketit | Vioittuneiden ja toistettujen pakettien määrä, joka kertoo ruuhkasta tai häiriöistä. |
-
-Tuloksista saatavilla olevat lisätoiminnot:
-
-- **Skannaus­historia** — tallennetut istunnot, joita voit tarkastella myöhemmin; katsele tai poista aiempia skannauksia.
-- **Haun kartta** — kartta skannauksessa löydetyistä radioista.
-- **Raportin vienti** — vie raportti PDF-tiedostona Androidilla tai tekstinä muilla alustoilla.
-
-> 💡 **Vinkki:** Androidilla haku voi luoda laitteessa toimivan tekoälyyhteenvedon (Gemini Nano) tuloksistasi. Jos laitteessa toimivaa mallia ei ole käytettävissä, käytetään algoritmista yhteenvetoa — näin saat aina luettavan tulkinnan skannauksesta.
-
-## Manuaalinen haku
-
-Alla olevat työkalut ovat käytettävissä milloin tahansa radiolistasta ja radion tietonäkymistä. Käytä niitä yksittäisten reittien tutkimiseen ja topologian muodostamiseen, joko osana skannausta tai sen sijaan.
-
-## Reitinselvitys
-
-Reitinselvitys näyttää tarkan polun, jota kautta viesti kulkee omalta radioltasi mihin tahansa toiseen verkon radioon. Se on yksittäisistä työkaluista hyödyllisin yhteysongelmien vianmääritykseen.
-
-### Reitinselvityksen suorittaminen
-
-1. Siirry kohtaan **Radiot** ja napauta radiota, jota haluat jäljittää.
-2. Radion tietonäkymässä napauta **Reitinselvitys**.
-3. Sovellus lähettää reitinselvityspyynnön ja odottaa vastausta.
-4. Tulokset näyttävät jokaisen hypyn järjestyksessä sekä signaalin laadun jokaisessa vaiheessa.
-
-### Tulosten lukeminen
-
-Reitinselvityksen tulos näyttää tältä:
-
-```
-Sinä → Radio A (SNR: 8.5, RSSI: -95) → Radio B (SNR: 5.2, RSSI: -108) → Kohde
-```
-
-Jokainen hyppy on välittäjä-radio, joka lähetti viestin eteenpäin. Jokaisen hypyn SNR- ja RSSI-arvot kertovat kyseisen yhteysvälin laadusta.
-
- Mitä kannattaa tarkkailla                                                                                        | Mitä se tarkoittaa                                                               |
- ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
- Kaikki hypyt näyttävät hyvän SNR:n (≥ −7 dB, vihreä)                          | Hyvä reitti — viestit kulkevat luotettavasti                                     |
- Yksi hyppy näyttää huonon SNR:n (< −15 dB, punainen) | Heikko yhteys — tämä välityssegmentti on haavoittuva                             |
- Useita hyppyjä (4+)                                                                           | Pitkä reitti — harkitse radion siirtämistä sen lyhentämiseksi                    |
- Eri reitti uudelleenyrityksellä                                                                                  | Verkko mukautuu — useita reittejä on olemassa (tämä on hyvä!) |
-
-> Vinkki: Aja reitinselvitys useita kertoja muutaman minuutin aikana. Jos reitti muuttuu, verkossasi on varareittejä — merkki hyvin kytketystä verkosta.
-
-### Reitinselvityksen vianmääritys
-
-- **Reittiä ei löytynyt** — kohderadio voi olla kiinni, kantaman ulkopuolella tai eri kanavalla. Varmista, että molemmat radiot jakavat vähintään yhden kanavan samalla salausavaimella.
-- **Reitinselvitys aikakatkaistu** — reitti voi olla liian pitkä (ylittää hyppymäärärajan) tai välittäjä-radio on ruuhkautunut. Kokeile nostaa hyppymäärärajaa kohdassa **Asetukset → LoRa-asetukset**.
-- **Epäsymmetriset reitit** — reitinselvitys A→B voi kulkea eri reittiä kuin B→A. Tämä on normaalia — radiosignaalin eteneminen ei aina ole symmetristä.
-
-## Radiolista hakutyökaluna
-
-Radiolista on itsessään tehokas hakutyökalu, kun käytät sen suodatus- ja lajitteluominaisuuksia oikein.
-
-### Uusien radioiden löytäminen
-
-- Lajittele **Viimeksi kuultu** nähdäksesi viimeksi aktiiviset radiot ylimpänä.
-- Ota käyttöön **Näytä tuntemattomat** nähdäksesi radiot, jotka ovat ilmestyneet verkkoon, mutta eivät ole vielä lähettäneet käyttäjätietoja — usein juuri käyttöönotettuja laitteita.
-
-### Yhteyksien arviointi
-
-- Lajittele **Hyppyjen määrä** nähdäksesi mitkä radiot ovat suoraan tavoitettavissa (0 hyppyä) ja mitkä välitettyinä.
-- Lajittele **Etäisyys** löytääksesi lähellä olevat radiot ja varmistaaksesi niiden tavoitettavuuden.
-- Käytä **Rajaa MQTT pois** keskittyäksesi radioyhteyksillä tavoitettaviin radioihin (ei internet-sillan kautta).
-
-### Infrastruktuurin tarkistus
-
-- Poista **Jätä infrastruktuuri pois** käytöstä, jos haluat nähdä Router-, Router Late- ja Client Base -radiot.
-- Tarkista niiden signaalin laatu ja viimeksi kuultu -ajat varmistaaksesi, että infrastruktuuriradiot ovat kunnossa.
-
-Katso [Radiot](nodes) saadaksesi lisätietoa suodatus- ja lajitteluasetuksista.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/firmware.html b/v2.8.0/docs/fi-rFI/user/firmware.html deleted file mode 100644 index 9b5e4fccb4..0000000000 --- a/v2.8.0/docs/fi-rFI/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Laiteohjelmiston päivitykset - - - -
# Laiteohjelmiston päivitykset
-
-Pidä Meshtastic-radiosi ajan tasalla uusimmalla firmwarella, jossa on uusia ominaisuuksia, virhekorjauksia ja tietoturvaparannuksia.
-
-## Päivitysten tarkistaminen
-
-1. Avaa yhdistetyn radion asetukset ja valitse **Lisäasetukset → Laiteohjelmiston päivitys**. Tämä vaihtoehto näkyy vain laitteilla, jotka tukevat OTA-päivityksiä.
-2. Sovellus tarkistaa saatavilla olevat firmware-versiot.
-3. Saatavilla olevat päivitykset näyttävät versionumeron ja muutoslokin yhteenvedon.
-
-## Päivitysmenetelmät
-
-### OTA (Over-The-Air) Bluetooth-yhteyden kautta
-
-Yleisin päivitystapa Android-käyttäjille:
-
-1. Varmista, että radiosi on yhdistetty Bluetoothilla.
-2. Siirry Firmware-päivitys -näkymään.
-3. Valitse haluamasi firmware-versio.
-4. Napauta **Päivitä** aloittaaksesi OTA-päivityksen.
-5. Odota, että päivitys valmistuu — älä katkaise yhteyttä päivityksen aikana.
-
-![Päivitysten tarkistaminen](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ Varoitus: firmware-päivityksen keskeyttäminen voi rikkoa laitteen. Varmista, että radiossa on riittävästi akkua (>50 % suositus) ja pidä Bluetooth-yhteys lähellä koko prosessin ajan.
-
-![Laiteohjelmiston vastuuvapauslauseke](../../assets/screenshots/firmware_disclaimer.png)
-
-### USB-päivitys sovelluksesta
-
-Kun radio on yhdistetty **USB:n tai sarjayhteyden** kautta (bluetoothin sijaan), **laiteohjelmiston päivitys** -näkymässä on käytettävissä **USB-tiedostonsiirto**. Sovellus käynnistää laitteen uudelleen DFU-tilaan ja pyytää sitten tallentamaan `.uf2`-tiedoston laitteen DFU-asemaan järjestelmän tiedostonvalitsimen avulla. Tämä vaihtoehto näkyy vain USB tai sarjayhteydellä — sitä ei voi käyttää bluetoothin kautta.
-
-> ℹ️ **nRF-käynnistyslatain:** Jotkin laitteet (esimerkiksi RAK WisBlock RAK4631) edellyttävät, että käynnistyslatain päivitetään valmistajan sarjamuotoisella DFU-työkalulla (kuten `adafruit-nrfutil`). Pelkän `.uf2`-tiedoston kopioiminen ei päivitä käynnistyslatainta. Sovellus näyttää tästä vihjeen, kun se on tarpeen.
-
-### Muut päivitysvaihtoehdot
-
-Käytä näitä palautukseen tai silloin, kun OTA- tai sovelluksen USB-päivitys ei ole käytettävissä:
-
-- Käytä [Meshtastic Web Flasheriä](https://flasher.meshtastic.org)
-- Tai [Meshtastic CLI -työkalua](https://meshtastic.org/docs/getting-started/flashing-firmware) työpöytäympäristössä
-
-## Versiokanavat
-
- Kanava               | Kuvaus                                                                   |
- -------------------- | ------------------------------------------------------------------------ |
- Vakaa                | Suositeltu useimmille käyttäjille: testatut julkaisut    |
- Alpha                | Esijulkaisut voivat sisältää virheitä                                    |
- Paikallinen tiedosto | Asenna itse valitsemasi laiteohjelmistotiedosto ladatun julkaisun sijaan |
-
-## Päivitystä edeltävä tarkistuslista
-
-Ennen päivityksen aloitamista:
-
-- [ ] Akku > 50 %
-- [ ] Vakaa Bluetooth-yhteys
-- [ ] Kirjaa ylös nykyiset asetuksesi (ne voivat nollautua suurissa versiomuutoksissa)
-- [ ] Tarkista julkaisumuistiinpanot mahdollista yhteensopivuutta rikkovien muutosten varalta
-
-## Päivityksen jälkeen
-
-Kun laiteohjelmisto on kirjoitettu, sovellus varmistaa päivityksen ja odottaa laitteen palaavan takaisin verkkoon:
-
-![Päivityksen varmistus ja laitteen uudelleenyhdistymisen odottaminen](../../assets/screenshots/firmware_verifying.png)
-
-Kun päivitys onnistuu:
-
-- Radio käynnistyy uudelleen automaattisesti
-- Bluetooth-yhteys muodostuu uudelleen
-- Varmista, että asetuksesi ovat säilyneet
-- Vahvista uusi versio **Asennettu tällä hetkellä** -kohdasta **Laiteohjelmiston päivitys** -näkymässä — sama tieto näkyy myös radion tiedoissa ja **Yhteydet**-näkymässä
-
-![Firmware-päivitys onnistui](../../assets/screenshots/firmware_success.png)
-
-## Vianetsintä
-
-### Päivitys jumissa
-
-Jos päivitys näyttää jumiutuneen:
-
-- Odota vähintään 5 minuuttia ennen toimenpiteitä
-- Jos laite on edelleen jumissa, käynnistä radio uudelleen virrankatkaisulla
-- Yritä päivitystä uudelleen
-
-![Laiteohjelmiston päivitysvirhe](../../assets/screenshots/firmware_error.png)
-
-### Laite ei käynnisty päivityksen jälkeen
-
-Jos laite ei käynnisty:
-
-1. Kokeile yhdistää USB:llä tietokoneeseen
-2. Käytä web-flasheria palautus tai DFU-tilassa
-3. Asenna tunnetusti toimiva firmware-versio
-4. Tarkista Meshtastic Discordista laitekohtaiset palautusohjeet
-
-### Yhteensopivuutta koskevat varoitukset
-
-Sovellus voi näyttää varoituksia, kun:
-
-- Yhdistetyn radion laiteohjelmisto on alle tuetun vähimmäisversion
-- Sovelluksen ja laiteohjelmiston version välillä on ristiriita
-- Vanhentuneet ominaisuudet vaativat siirtymistä uuteen versioon
-
-> ⚠️ **Tärkeää:** Päivitä Meshtastic-sovellus aina ennen firmware-päivitystä tai sen yhteydessä varmistaaksesi yhteensopivuuden.
-
-## Aiheeseen liittyvät aiheet
-
-- [Yhteydet](connections) — yhdistetään uudelleen laiteohjelmiston päivityksen jälkeen
-- [Laiteohjelmiston päivitysopas](https://meshtastic.org/docs/getting-started/flashing-firmware) — täydellinen firmware-päivityksen ohjeistus meshtastic.org -sivustolla
-- [Tuetut laitteet](https://meshtastic.org/docs/hardware/devices) — tarkista firmware-yhteensopivuus laitekohtaisesti
-- [UKK](https://meshtastic.org/docs/faq/) – usein kysytyt kysymykset meshtastic.org -sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/help-and-docs.html b/v2.8.0/docs/fi-rFI/user/help-and-docs.html deleted file mode 100644 index 11323c9afb..0000000000 --- a/v2.8.0/docs/fi-rFI/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Ohjeet jasovelluksen sisäinen dokumentaatio - - - -
# Ohjeet ja sovelluksen sisäinen dokumentaatio
-
-Sama käyttöohje sisältyy myös **sovellukseen**, joten voit lukea sitä offline-tilassa poistumatta Meshtasticista. Avaa se kohdasta **Asetukset → Ohjeet & dokumentaatio**.
-
-## Selaaminen
-
-Dokumentaation selain näyttää kaikki käyttöohjeen sivut. Avaa sivu napauttamalla sitä. Kuvat ja ristiviittaukset toimivat samalla tavalla kuin tässä dokumentaatiossa.
-
-![Sovelluksen sisäisen dokumentaation sisällysluettelo](../../assets/screenshots/docs-browser_toc.png)
-
-### Haku
-
-Napauta hakukuvaketta ja kirjoita hakusanoja suodattaaksesi sivuja otsikon ja avainsanojen perusteella — tulokset päivittyvät kirjoittaessasi.
-
-![Haku sovelluksen sisäisessä dokumentaatiossa](../../assets/screenshots/docs-browser_search.png)
-
-Dokumentaatiosivu avattuna selaimessa:
-
-![Dokumentaatiosivu avattuna sovelluksessa](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — tekoälyn avustaja
-
-**Chirpy** vastaa Meshtasticia koskeviin luonnollisella kielellä esitettyihin kysymyksiin käyttäen lähteenään tätä sovellukseen sisältyvää dokumentaatiota. Napauta Chirpy-painiketta dokumentaatioselaimessa, kirjoita kysymyksesi, niin se vastaa ja linkittää aiheeseen liittyville sivuille.
-
-![Chirpy-tekoälyavustaja vastaa kysymykseen ja näyttää linkkejä sivuille](../../assets/screenshots/docs-browser_chirpy.png)
-
-> ⚠️ **Tietosuoja:** Google-versiota käyttävillä laitteilla Chirpy toimii **laitteella** Gemini Nanon avulla — kysymyksesi eivät poistu puhelimestasi. Pieni kielimalli ladataan ensimmäisellä käyttökerralla.
-
-> ⚠️ **Huomautus:** F-Droid-, Desktop- ja iOS-versioissa Chirpy käyttää generatiivisen mallin sijaan dokumentaatioon perustuvaa **avainsanahakua**. Jos laitteesi ei tue laitteella toimivaa tekoälyä, avustaja piilotetaan, mutta voit silti selata dokumentaatiota ja hakea siitä tietoa normaalisti.
-
-## Aiheeseen liittyvät aiheet
-
-- [Käännä sovellus](translate) — miten nämä sivut lokalisoidaan muille kielille
-- [Sovelluksen toiminnot](app-functions) — erillinen järjestelmätekoälyintegraatio (ei sama kuin Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/map-and-waypoints.html b/v2.8.0/docs/fi-rFI/user/map-and-waypoints.html deleted file mode 100644 index 816d8e78a8..0000000000 --- a/v2.8.0/docs/fi-rFI/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Kartta ja reittipisteet - - - -
# Kartta ja reittipisteet
-
-Karttanäkymä näyttää mesh-verkkosi radioiden maantieteelliset sijainnit sekä jaetut reittipisteet.
-
-## Karttanäkymä
-
-Kartta näyttää:
-
-- **Radion sijainnit** — kunkin sijaintia lähettävän radion värilliset merkit
-- **Reittipisteet** — jaetut kiinnostavat kohteet
-- **Oma sijaintisi** — nykyinen GPS-sijaintisi
-
-### Radioiden merkinnät
-
-Jokainen sijaintinsa raportoiva radio näytetään **radiotunnisteena**, jossa näkyy radion lyhyt nimi. Tunniste väritetään radion oman tunnistevärin mukaan (pysyvä väri, joka muodostetaan radion numerosta) — sama radiotunniste näkyy myös radioluettelossa, joten radio näyttää kaikkialla samalta. Merkin väri **ei** ilmaise, onko radio verkossa vai poissa verkosta. Kun radion sijainti päivittyy reaaliajassa, sen merkki sykkii hetken. Lähekkäiset merkit ryhmitellään, kun loitonnat karttaa.
-
-### Kartan hallinta
-
-- **Zoomaus** — nipistä tai käytä +/- -painikkeita
-- **Panorointi** — vedä karttaa
-- **Keskitä** — valitse sijaintipainike keskittääksesi oman sijaintisi
-- **Radion napautus** — avaa radion tiedot napauttamalla merkkiä
-
-Kelluva työkalupalkki tarjoaa nopean pääsyn kompassiin, tasojen vaihtoon, suodattimiin, päivitykseen ja sijainnin seurantaan. Napauta kompassia suunnan palauttamiseksi pohjoiseen tai sijaintipainiketta keskittääksesi oman sijaintisi.
-
-![Kartan hallintapainikkeet](../../assets/screenshots/map_controls_overlay.png)
-
-## Reittipisteet
-
-Reittipisteet ovat jaettuja maantieteellisiä kiinnostavia kohteita, jotka kaikki mesh-verkon jäsenet voivat nähdä.
-
-### Reittipisteen luominen
-
-1. Paina karttaa pitkään haluamassasi sijainnissa.
-2. Anna nimi ja valinnainen kuvaus.
-3. Valitse reittipisteelle kuvake tai emoji.
-4. Napauta **Lähetä** jakaaksesi sen verkkoon.
-
-Reittipisteet osoitetaan kuten viestit: oletuksena ne lähetetään yleislähetyksenä ensisijaisella kanavalla, mutta reittipiste voidaan lähettää myös tietyllä kanavalla tai suoraviestinä yhdelle radiolle.
-
-### Reittipisteen ominaisuudet
-
- Ominaisuus      | Kuvaus                                                                  |
- --------------- | ----------------------------------------------------------------------- |
- Nimi            | Lyhyt tunniste (enintään 29 merkkiä)                 |
- Kuvaus          | Valinnainen pidempi kuvaus                                              |
- Kuvake          | Visuaalinen merkkiemoji kartalla                                        |
- Lukittu         | Jos lukittu, vain merkin luonut voi muokata tai poistaa sen             |
- Voimassaoloaika | Valinnainen automaattinen poistopäivä ja -aika                          |
- Aluerajaus      | Valinnainen aluerajaus saapumis- ja poistumisilmoituksille — katso alla |
-
-### Reittipisteen vanheneminen
-
-Reittipisteet voidaan asettaa vanhenemaan automaattisesti:
-
-- Ei koskaan (oletus) — reittipiste pysyy voimassa kunnes se poistetaan manuaalisesti
-- **Ajastettu** — valitse tietty päivämäärä ja kellonaika. Reittipiste poistetaan automaattisesti, kun kyseinen ajankohta on ohitettu. Hyödyllinen tilapäisille merkinnöille kuten kokoontumispaikat, vaarat tai tapaamispaikat.
-
-Vanhentuneet reittipisteet piilotetaan automaattisesti kartalta, jotta näkymä pysyy selkeänä. Poistumisen ajastus perustuu valitsemaasi päivämäärään ja kellonaikaan, ei siihen, kuinka kauan reittipiste on ollut olemassa tai vastaanotettuna.
-
-### Reittipisteiden aluerajaukset
-
-Mikä tahansa reittipiste voidaan määrittää myös **aluerajaukseksi** eli ilmoitusalueeksi, jolloin sinä tai muut käyttäjät saatte ilmoituksen, kun radio saapuu alueelle tai poistuu sieltä:
-
-1. Määritä **aluerajauksen säde** valmiista vaihtoehdoista (tai valitse **Pois** poistaaksesi toiminnon käytöstä), tai napauta **Määritä alue kartalla** piirtääksesi mukautetun suorakulmaisen alueen.
-2. Kun alue on määritetty, ota käyttöön **Ilmoita saapuessa** ja/tai **Ilmoita poistuttaessa**.
-3. Voit halutessasi ottaa käyttöön **Vain suosikit** -asetuksen, jolloin ilmoituksia näytetään vain suosikkiradioistasi.
-
-Koska reittipisteet (ja niiden aluerajaukset) lähetetään koko mesh-verkkoon, oletusarvoisesti ilmoitukset saa vain niiden **luoja**. Jos joku jakaa kanssasi aluerajauksen sisältävän reittipisteen, sen tiedoissa voit ottaa käyttöön **Ilmoita aluerajan ylityksistä** -asetuksen, jolloin saat myös ilmoitukset alueelle saapumisesta ja sieltä poistumisesta.
-
-### Reittipisteiden hallinta
-
-- Napauta reittipistettä kartalla nähdäksesi sen tiedot ja koordinaatit
-- Muokkaa tai poista luomiasi reittipisteitä
-- **Lukitut reittipisteet** eivät ole muiden radioiden muokattavissa tai poistettavissa — vain alkuperäisen merkin luonut voi muuttaa niitä
-- Lukitsemattomia reittipisteitä voi muokata kuka tahansa mesh-verkon jäsen
-
-## Karttatasot
-
-Napauta kartan karttatasokuvaketta avataksesi **Hallitse karttatasoja** -näkymän, jossa voit tuoda omia karttatasojasi `.kml`-, `.kmz`- tai GeoJSON-muodossa joko avaamalla tiedoston Meshtasticissa tai jakamalla sen sovellukseen toisesta sovelluksesta. Tuodut karttatasot näkyvät luettelossa, jossa voit näyttää tai piilottaa ne sekä poistaa ne. Tämä on käytettävissä sekä Google Play- että F-Droid-versioissa.
-
-### Site Planner
-
-**Site Planner** arvioi lähettimen kuuluvuusalueen ja piirtää sen kartalle värikoodattuna peittoalueena. Avaa se kartan ohjaimista tai radion tiedoista **Arvioi peittoalue** -toiminnolla (näkyy vain radioille, joilla on tunnettu sijainti). Määritä lähettimen asetukset (sijainti, taajuus, lähetysteho, antennin vahvistus ja korkeus), vastaanottimen asetukset (herkkyys ja korkeus) sekä simuloinnin asetukset (enimmäisetäisyys, korkean tarkkuuden maastomalli ja väripaletti), ja käynnistä sitten arviointi. Karttatasojen tavoin myös Site Planner on käytettävissä sekä Google Play- että F-Droid-versioissa.
-
-## Sijainnin jakaminen
-
-### Sijainnin jakamisen käyttöönotto
-
-Radiosi jakaa GPS-sijaintinsa seuraavilla tavoilla:
-
-- **Kiinteä väli** — sijainti lähetetään säännöllisin väliajoin
-- **Älykäs sijainti** — sijainti lähetetään, kun liike ylittää kynnyksen
-- **Manuaalinen** — sijainti jaetaan vain erikseen pyydettäessä
-
-Määritä sijaintikäyttäytyminen kohdassa **Asetukset → Sijainti**.
-
-### Tietosuoja
-
-> 🔒 **Yksityisyys:** sijaintitiedot lähetetään kaikille saman kanavan radioille. Jos et halua sijaintiasi jaettavan, poista GPS käytöstä asetuksista tai käytä kiinteää tai valesijaintia.
-
-## Karttalähteet
-
-Kartan pohja riippuu sovellusversiosta: **Google Play** -versio käyttää Google Mapsia, kun taas **F-Droid**- ja työpöytäversiot käyttävät OpenStreetMapia. Pohjakartan lisäksi käytettävissä on muita karttatasoja peitekerroksina tai vaihtoehtoisina karttoina:
-
-- Satelliittikuvat (jos saatavilla)
-- Offline-kartat (lataa alueet offline-käyttöä varten)
-
-## Aiheeseen liittyvät aiheet
-
-- [Radiot](nodes) — tarkastele ja suodata radiolistaa
-- [Radion mittarit](node-metrics) — signaalin laatu ja sijaintihistoria yksittäisille radioille
-- [Haku](discovery) — reitinselvitys ja naapuritiedot mesh-verkon ymmärtämiseen
-- [Yksiköt ja kieliasetukset](units-and-locale) — etäisyys- ja koordinaattien näyttömuodot
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/messages-and-channels.html b/v2.8.0/docs/fi-rFI/user/messages-and-channels.html deleted file mode 100644 index 18bdb5dc9d..0000000000 --- a/v2.8.0/docs/fi-rFI/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Viestit ja kanavat - - - -
# Viestit ja kanavat
-
-Meshtastic tukee kahta viestintätilaa: **kanavaviestit** ja **suoraviestit**.
-
-## Kanavat
-
-Kanavat ovat jaettuja viestintäryhmiä. Kaikki radiot, jotka on määritetty samalla kanava-avaimella, voivat lukea ja lähettää viestejä kyseisellä kanavalla.
-
-### Oletuskanava
-
-Jokaisessa Meshtastic-laitteessa on oletuksena **LongFast**-kanava. Tämä on salaamaton kanava yleiseen mesh-viestintään.
-
-### Kanavan turvallisuus
-
-Kanavat tukevat useita salaustasoja:
-
- Ikoni | Suojaustaso                               | Kuvaus                                                                                                                                                            |
- ----- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒    | PSK (256-bittinen AES) | Täysin salattu vahvalla esijaetulla avaimella. Vain samaa avainta käyttävät radiot voivat lukea viestejä.                         |
- 🔐    | PSK (128-bittinen AES) | Salattu lyhyemmällä avaimella. Useimmille käyttötapauksille turvallinen, mutta 256-bittinen on suositeltu arkaluontoiseen dataan. |
- 🔓    | Oletus / avoin                            | Käyttää tunnettua oletusavainta. **Kaikki Meshtastic-radiot** samalla esiasetuksella voivat lukea nämä viestit.                   |
- ⚠️    | Turvaton + sijainti                       | Avoin kanava, joka lähettää myös GPS-sijaintisi. Käytä varoen julkisissa verkoissa.                                               |
-
-> 🔒 **Tietoturvavinkki:** Käytä aina yksilöllistä PSK-avainta yksityiseen viestintään. Oletuskanava on tarkoituksella avoin, jotta uudet käyttäjät löytävät mesh-verkon — luo erillinen salattu kanava arkaluontoiselle viestinnälle.
-
-### Kanavan lisääminen
-
-1. Siirry kohtaan **Asetukset → Kanavat**.
-2. Napauta **Lisää kanava** tai skannaa QR-koodi.
-3. Määritä kanavan nimi ja salausavain.
-4. Jaa kanavan URL tai QR-koodi muille, jotka tarvitsevat pääsyn.
-
-Napauttamalla kanavaa näet sen tiedot ja jakovaihtoehdot.
-
-## Yksityisviestit
-
-Yksityisviestit (DM) ovat kahden radion välistä päästä päähän salattua viestintää.
-
-### Yksityisviestin lähettäminen
-
-1. Avaa **Viestit**-välilehti.
-2. Valitse radion yhteystiedoista tai napauta radiota radiolistasta.
-3. Kirjoita viesti ja napauta **Lähetä**.
-
-### Viestin tilat
-
-Tilateksti näkyy vain **omissa** lähtevissä viesteissäsi (muiden lähettämissä saapuvissa viesteissä ei näytetä tilaa):
-
- Tila                                                           | Merkitys                                                                                                                                                             |
- -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Lähetetään…                                                    | Jonossa tai jo siirretty radiolle, mutta lopullista tilaa ei ole vielä vahvistettu (jonossa ja lähetetään näyttävät molemmat tämän saman tekstin) |
- Toimitettu vastaanottajalle                                    | Vahvin mahdollinen vahvistus suoralle viestille — vastaanottokuittaus on saatu                                                                                       |
- Toimitettu mesh-verkkoon                                       | Kanavalähetyksessä viesti on saavuttanut mesh-verkon (kanavalähetyksille ei lähetetä vastaanottajakohtaista kuittausta)                           |
- Välitetty, mutta vastaanottaja ei ole vahvistanut vastaanottoa | Suorassa viestissä tämä näytetään varoitusvärillä — viesti on välitetty eteenpäin, mutta vastaanottokuittausta ei ole vielä saatu                                    |
- Reititetään SF++ ketjun kautta…                                | Reititetty tai puskuroitu varastoi & välitä Plus Plus -ketjussa                                                                                  |
- Vahvistettu SF++-ketjussa                                      | Toimitus vahvistettu varastoi & välitä++ -ketjun kautta                                                                                          |
- Virhe                                                          | Toimitus epäonnistui — napauta tilaa nähdäksesi tarkemman syyn (katso alla kohta toimitusvirheet)                                                 |
-
-### Toimitusvirheet
-
-Kun viestin toimitus epäonnistuu, virheilmaisin näyttää, mikä meni pieleen:
-
- Virhe                                                  | Merkitys                                        | Toimenpiteet                                                                                                                                                                             |
- ------------------------------------------------------ | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Ei reittiä                                             | Kohderadioon ei ole reittiä                     | Vastaanottaja voi olla offline-tilassa tai verkon kantaman ulkopuolella. Yritä myöhemmin tai siirry lähemmäksi.                                          |
- Hylkäyskuittaus vastaanotettu (NAK) | Seuraavan hypyn radio kieltäytyi välittämästä   | Välittäjä-radio voi olla ruuhkautunut. Odota ja yritä uudelleen.                                                                                         |
- Aikakatkaisu                                           | Ei kuittausta uudelleenyritysten aikana         | Vastaanottaja voi olla kantaman ulkopuolella. Yritä nostaa hyppyrajaa tai siirtyä parempaan paikkaan.                                                    |
- Ei Käyttöliittymää                                     | Lähetykseen ei ole käytettävissä radioliitäntää | Tarkista, että radio on yhdistetty ja kanava on määritetty.                                                                                                              |
- Kaikki uudelleenyritykset käytetty                     | Uudelleenyritysten enimmäismäärä saavutettu     | Mesh-reitti ei ole luotettava. Kokeile toista kanavaa tai odota olosuhteiden parantumista.                                                               |
- Ei Kanavaa                                             | Kohdekanavaa ei ole olemassa                    | Varmista, että molemmilla radioilla on sama kanavakonfiguraatio.                                                                                                         |
- Liian suuri                                            | Viesti ylittää sallitun enimmäiskoon            | Lyhennä viestisi (enintään noin 200 merkkiä).                                                                                                         |
- Ei vastausta                                           | Radio vastaanotti viestin mutta ei vastannut    | Vastaanottajan radio voi olla varattu tai virransäästötilassa.                                                                                                           |
- Käyttöasteen rajoitus                                  | Alueellinen lähetysajan raja saavutettu         | Radiosi on käyttänyt sallitun lähetysajan. Odota, että käyttöasteen rajoituksen ikkuna nollautuu (tyypillisesti 1 tunti EU-alueilla). |
- Virheellinen pyyntö                                    | Viallinen tai virheellinen viesti               | Tämä yleensä viittaa ohjelmistovirheeseen. Kokeile käynnistää sovellus uudelleen.                                                                        |
-
-> 💡 Vinkki: Useimmat toimitusvirheet korjaantuvat itsestään. Jos radio on ajoittain tavoitettavissa, mesh yrittää uudelleen. Jos “Ei reittiä” -virhe toistuu, tarkista että välissä olevat reitittävät radiot ovat verkossa.
-
-## Viestiominaisuudet
-
-### Pikachatti
-
-Valmiiksi määritetyt viestit nopeaan viestintään:
-
-- Käytettävissä viestikentän Pikachatti-painikkeen kautta
-- Valitse valmiista sisäänrakennetuista viesteistä tai omista viesteistä
-- Muokkaa pikachatti-viestejä kohdassa **Asetukset → Pikachatti**
-- Hyödyllinen, kun kirjoittaminen on hankalaa (hanskat, pieni näyttö, kiire)
-
-![Pikachatti-vaihtoehto](../../assets/screenshots/messages_quick_chat.png)
-
-Jokaisella pikaviestillä on lyhyt **Nimi** (painikkeen teksti), lisättävä **Viesti** sekä **Lähetä heti** -kytkin. Kun se on käytössä, painikkeen napauttaminen lähettää viestin välittömästi sen sijaan, että se lisättäisiin muokattavaksi syöttökenttään:
-
-![Uusi pikakeskusteluviestin valintaikkuna, jossa näkyvät nimi, viesti ja Lähetä heti -kytkin](../../assets/screenshots/messages_edit_quick_chat.png)
-
-Kanavalista näyttää jokaisen kanavan ja sen viimeisimmän viestin esikatselun.
-
-### Viestien haku
-
-Voit hakea koko keskusteluhistorian suoraan chat-näkymästä:
-
-1. Avaa keskustelu (kanava tai suoraviesti).
-2. Napauta **hakukuvaketta** yläpalkissa.
-3. Kirjoita **Etsi viestejä** -kenttään. Haku toimii kirjoittaessa ja käy läpi kaikki tallennetut viestit kyseisessä keskustelussa.
-4. Käytä **N / M** -laskuria ja edellinen/seuraava -nuolia siirtyäksesi osumien välillä, jotka on korostettu keskustelussa.
-
-![Viestihaku-palkki tuloslaskurilla ja nuolilla](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 Vinkki: Haku on täystekstihaku ja toimii vain siinä keskustelussa, josta avasit sen — se ei hae muista kanavista tai kontakteista. Se hakee osumat laitteellesi jo tallennetuista viesteistä, joten se toimii täysin offline-tilassa.
-
-### Viestikuplat
-
-Viestit näkyvät chat-kuplina — lähetetyt viestit oikealla, vastaanotetut vasemmalla. Jokainen kupla näyttää lähettäjän, aikaleiman ja toimitustilan. Vastaukselliset viestit sisältävät alkuperäisen viestin esikatselun vastauksen yläpuolella.
-
-### Tekstin muotoilu
-
-Viestit tukevat kevyttä rivinsisäistä **Markdown**-muotoilua. Vastaanotetut viestit näyttävät muotoilun ilman Markdown-syntaksimerkkejä:
-
- Kirjoita            | Syntaksi                      | Näkyy muodossa        |
- ------------------- | ----------------------------- | --------------------- |
- Lihavoitu           | **lihavoitu**                 | **lihavoitu**         |
- Kursivoitu          | `*kursivoitu*`                | _kursivoitu_          |
- Yliviivattu         | `~~yliviivattu~~`             | ~~yliviivattu~~       |
- Rivinsisäinen koodi | `` `koodi` ``                 | tasalevyinen `koodi`  |
- Linkki              | `[nimi](https://example.com)` | napautettava **nimi** |
-
-Kun kirjoitat viestiä, napauta viestikenttää ja kirjoita vähintään kolme merkkiä, niin kentän alle avautuu **muotoilutyökalurivi**. Valitse teksti ja napauta muotoilua lisätäksesi sen ympärille merkinnät (napauta uudelleen poistaaksesi ne). Jos tekstiä ei ole valittuna, muotoilu lisää tyhjän merkkiparin ja sijoittaa kohdistimen niiden väliin. Linkkipainike avaa valintaikkunan URL-osoitteen syöttämistä varten. Kirjoittaessasi luonnoksen muotoilu näkyy kentässä, vaikka taustalla oleva teksti säilyttää Markdown-merkit.
-
-> 💡 **Vinkki:** Muotoilu välitetään mesh-verkossa kirjaimellisina merkkeinä – samoina tavuina, jotka iOS lähettää. Sovellukset, jotka eivät tue Markdownia (vanhemmat sovellukset ja pelkkää laiteohjelmistoa käyttävät laitteet), näyttävät alkuperäiset `**`- ja `~~`-merkit. URL-osoitteet, sähköpostiosoitteet ja puhelinnumerot muutetaan edelleen automaattisesti linkeiksi riippumatta siitä, käytätkö Markdownia.
-
-### Maininnat
-
-Kirjoita viestiä laatiessasi `@` mainitaksesi radion — valitsin ehdottaa kirjoittaessasi vastaavia yhteystietoja. Vastaanotetussa viestissä maininta näkyy korostettuna tunnisteena, jossa näkyy radion nimi. Napauta sitä siirtyäksesi suoraan kyseisen radion tietosivulle.
-
-### Reaktiot
-
-Reagoi viesteihin emojeilla:
-
-- **Pitkä painallus** viestissä avaa toimintovalikon
-- Napauta **Lisää reaktio** valitaksesi emojin
-- Reaktiot näkyvät viestin alapuolella
-- Useampi käyttäjä voi reagoida samaan viestiin
-- Voit reagoida omiin ja muiden viesteihin
-
-![Emoji-reaktiot viestin alla](../../assets/screenshots/messages_reaction.png)
-
-> 💡 Vinkki: Reaktiot kuluttavat vain vähän mesh-verkon kaistaa verrattuna täysiin tekstiviesteihin.
-
-### Viestitoiminnot
-
-Pitkä painallus missä tahansa viestissä avaa:
-
-- **Kopioi** — kopioi viestin teksti leikepöydälle
-- **Vastaa** — lainaa viesti vastaukseesi
-- **Reagoi** — lisää emoji-reaktio
-- **Käännä** — kääntää vastaanotetun viestin laitteesi kielelle ja mahdollistaa vaihtamisen alkuperäisen ja käännetyn tekstin välillä (vain Google Play -versiossa; käyttää laitteella toimivaa käännöstä)
-- **Poista** — poista lähettämäsi viesti (paikallinen poisto)
-
-### Viestien prioriteetti
-
-Viestit jonotetaan ja lähetetään prioriteetin mukaan:
-
-1. Hätä ja hälytysviestit (korkein)
-2. Suoraviestit
-3. Kanavaviestit (alin prioriteetti)
-
-### Viestirajoitukset
-
-- **Enimmäispituus:** 200 tavua (noin 200 merkkiä ASCII-tekstille)
-- 200 tavun rajoitus koskee vain sovelluksen viestinkirjoituskenttää. Mesh-verkon viestin enimmäiskoko on noin 233 tavua, joten muilta lähettäjiltä (esimerkiksi sovellustoiminnoista tai Android Autosta) tulevat viestit voivat olla hieman pidempiä
-- **Rajoitusnopeus:** mesh-verkko tasaa lähetysajan oikeudenmukaisesti; suuri viestimäärä voi joutua rajoitetuksi
-- **Toimitus:** viestit yritetään lähettää uudelleen automaattisesti, jos kuittausta ei saada
-
-## Parhaat käytännöt
-
-- Käytä kanavia ryhmäviestintään
-- Käytä suoraviestejä kahden käyttäjän väliseen yksityiseen viestintään
-- Pidä viestit lyhyinä — mesh-verkon kaistanleveys on rajallinen
-- Määritä salaus arkaluontoiselle viestinnälle
-
-## Aiheeseen liittyvät aiheet
-
-- [Radiot](nodes) — napauta radiota aloittaaksesi suoraviestin
-- [Asetukset — Radio ja käyttäjä](settings-radio-user) — määritä kanavan salaus ja esiasetukset
-- [MQTT](mqtt) — välittää kanavaviestit internetiin
-- [Kanavien määritys](https://meshtastic.org/docs/configuration/radio/channels) — tarkemmat kanava-asetukset meshtastic.org-sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/mqtt.html b/v2.8.0/docs/fi-rFI/user/mqtt.html deleted file mode 100644 index 7082361cfa..0000000000 --- a/v2.8.0/docs/fi-rFI/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT yhdistää Meshtastic-mesh-verkkosi internetiin ja mahdollistaa pitkän kantaman viestinnän radioalueen ulkopuolella.
-
-## Yleiskatsaus
-
-MQTT-moduuli yhdistää radion MQTT-välityspalvelimeen, mahdollistaen:
-
-- Viestien välittymisen eri fyysisten mesh-verkkojen välillä internetin kautta
-- Integraation kotiautomaatio- ja valvontajärjestelmiin
-- Radioiden sijaintien julkaisemisen julkiseen Meshtastic-karttaan
-- Mukautetut dataputket tiedonkeruuta ja hälytyksiä varten
-
-## Kuinka se toimii
-
-```
-[Oma radiot] → Radio → Gateway-radio WiFi:llä → MQTT-välityspalvelin → Etä-gateway → Radio → Etä-radio
-```
-
-Internet-yhteydellinen gateway-radio (WiFi tai Ethernet) julkaisee mesh-viestit MQTT-aiheeseen. Etä-yhdyskäytävät, jotka ovat tilanneet saman aiheen, syöttävät viestit omaan paikalliseen mesh-verkkoonsa.
-
-## Asetukset
-
-### MQTT:n käyttöönotto
-
-1. Siirry kohtaan **Asetukset → Moduulin asetukset → MQTT**.
-2. Ota MQTT-moduuli käyttöön.
-3. Määritä välityspalvelimen yhteys:
-
-![MQTT kytkin](../../assets/screenshots/settings_switch.png)
-
- Asetus            | Kuvaus                                                                                                | Oletus                                              |
- ----------------- | ----------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Palvelimen osoite | MQTT-välityspalvelimen osoite                                                                         | mqtt.meshtastic.org |
- Käyttäjänimi      | Välityspalvelimen tunnistautuminen                                                                    | meshdev                                             |
- Salasana          | Välityspalvelimen tunnistautuminen                                                                    | large4cats                                          |
- Juuriaihe         | Viestien perusaihe                                                                                    | msh                                                 |
- Salaus            | MQTT-viestisisällön salaus                                                                            | Käytössä                                            |
- ~~JSON Output~~   | ⚠️ **Poistettu käytöstä** — JSON-pakettituki on poistettu firmwaresta; tämä kenttä jätetään huomiotta | Ei käytössä                                         |
- TLS               | Yhteyden suojaaminen välityspalvelimeen                                                               | Ei käytössä                                         |
- Karttaraportointi | Sijainnin julkaisu julkiselle kartalle                                                                | Ei käytössä                                         |
-
-### MQTT-välityspalvelin tässä puhelimessa
-
-Jos radiollasi ei ole omaa internetyhteyttä, se voi käyttää yhdistettyä puhelinta MQTT-yhdyskäytävänään. Ota käyttöön **MQTT** ja **Proxy to client enabled** moduulin asetuksista, jolloin sovellus välittää MQTT-liikenteen radion ja välityspalvelimen välillä puhelimen internetyhteyden kautta.
-
-MQTT-asetusten yläreunassa oleva **MQTT-välityspalvelin tässä puhelimessa** -kytkin näyttää, onko tämä välitys käytössä, ja sen avulla voit poistaa sen käytöstä (tai käynnistää sen uudelleen) heti ilman, että laitteen MQTT-asetuksia tarvitsee muokata ja tallentaa uudelleen.
-
-### Oletus Meshtastic-välityspalvelin
-
-Yhteisö ylläpitää julkista välityspalvelinta osoitteessa `mqtt.meshtastic.org`. Tämä on tarkoitettu yleiseen käyttöön ja testaukseen.
-
-> ℹ️ **Huomautus:** Yhteydet palvelimeen `mqtt.meshtastic.org` käyttävät aina TLS-salausta (portti 8883), vaikka TLS-kytkin olisi poistettu käytöstä. Kaikkien muiden välityspalvelimien kohdalla TLS-salausta käytetään vain, kun otat sen käyttöön (TLS:llä portti 8883, ilman TLS:ää portti 1883).
-
-> 🔒 **Tietosuoja:** Julkisen välityspalvelimen viestit ovat kaikkien tilaajien luettavissa. Käytä aina kanavasalausta yksityiseen viestintään.
-
-### Oma välityspalvelin
-
-Parempaa yksityisyyttä ja hallintaa varten voit käyttää omaa MQTT-välityspalvelinta:
-
-- Mosquitto (kevyt, avoimen lähdekoodin)
-- HiveMQ
-- EMQX
-
-Määritä radiosi osoittamaan omaan välityspalvelimeesi oikeilla tunnistetiedoilla.
-
-## Karttaraportointi
-
-Kun karttajako (Map Reporting) on käytössä, radiosi julkaisee sijaintinsa Meshtastic-yhteisökartalle:
-
-- Näkyvissä osoitteessa [meshmap.net](https://meshmap.net) ja vastaavissa yhteisökarttapalveluissa
-- Jaetaan vain sijainti- ja laitetiedot
-- Poista käytöstä, jos et halua sijaintisi näkyvän julkisesti
-
-## Lähetys vs vastaanotto
-
- Suunta          | Kuvaus                                           |
- --------------- | ------------------------------------------------ |
- **Lähetys**     | Viestit mesh-verkosta → MQTT-välityspalvelimeen  |
- **Vastaanotto** | Viestit MQTT-välityspalvelimesta → mesh-verkkoon |
-
-Määritä kanavakohtaisesti, mitkä suunnat ovat käytössä viestiliikenteen ja lähetysajan käytön hallintaan.
-
-## Viestiformaatit
-
-MQTT käyttää protobuf-viestimuotoa:
-
- Muoto        | Kuvaus                                    | Käyttötarkoitus                |
- ------------ | ----------------------------------------- | ------------------------------ |
- **Protobuf** | Binäärinen Meshtastic protobuf -enkoodaus | Radioiden välinen mesh-siltaus |
-
-> ⚠️ **Huom:** JSON-ulostulotuki on poistettu firmwaresta. `json_enabled`-asetus näkyy yhä sovelluksessa taaksepäinyhteensopivuuden vuoksi, mutta sillä ei ole vaikutusta nykyisissä firmware-versioissa.
-
-## Salaus ja yksityisyys
-
-Kerrostetun salausmallin ymmärtäminen:
-
-1. **Kanavasalaus** tapahtuu meshissä _ennen_ MQTT:tä. Jos kanavallasi on PSK, MQTT-viestisisältö on jo salattu — välityspalvelin ja tilaajat näkevät vain salatun datan.
-2. **MQTT-salaus** (moduuliasetus) lisää ylimääräisen salauskerroksen matkalla välityspalvelimelle. Tämä suojaa metatietoja ja reititystietoja.
-3. **TLS** salaa TCP-yhteyden itse välityspalvelimeen estäen verkkotason salakuuntelun.
-
-> 🔒 **Tärkeää:** julkisella oletuskanavalla on tunnettu avain. Oletuskanavan MQTT:n kautta lähetetyt viestit ovat käytännössä **salaamattomia** — kuka tahansa tilaaja voi purkaa ne. Käytä aina omaa PSK-avainta yksityiseen viestintään.
-
-## Parhaat käytännöt
-
-- Käytä kanavatasoista salausta (PSK) kanavissa, jotka yhdistetään MQTT:hen
-- Älä ota MQTT:tä käyttöön laitteissa, joilla ei ole internet-yhteyttä (se puskuroidaan ja kuluttaa muistia)
-- Käytä yksityistä välityspalvelinta arkaluonteisissa käyttöönotossa
-- Ole tarkkana lähetysajan (downlink) käyttämisessä ruuhkaisissa MQTT-aiheissa — jokainen viesti kuluttaa radio-aikaa paikallisessa meshissä
-- Harkitse lähetyssuunnan vaihtamista (uplink), jos haluat vain seurata verkkoa etänä ilman viestien lähettämistä verkkoon
-
-## Vianetsintä
-
-### MQTT ei yhdistä
-
-- Tarkista WiFi — yhdyskäytävän radiolla täytyy olla aktiivinen internet-yhteys (WiFi tai Ethernet). MQTT ei toimi LoRa-radiolinkin kautta.
-- Tarkista tunnukset — väärä käyttäjänimi tai salasana epäonnistuu useimmilla välityspalvelimilla hiljaisesti Tarkista ylimääräiset välilyönnit
-- Palomuuri — portti 1883 (MQTT) tai 8883 (MQTT+TLS) täytyy olla auki. Jotkin verkot estävät ei-standardit portit.
-- **DNS-ratkaisu** – jos käytät omaa välityspalvelimen isäntänimeä, varmista että laite pystyy ratkaisemaan sen. Kokeile välityspalvelimen IP-osoitetta suoraan.
-
-### Viestit eivät välity
-
-- **Tarkista lähetys ja vastaanotto-asetukset** – jos vain lähetys on käytössä, viestit kulkevat meshistä MQTT:hen mutta eivät takaisin. Ota vastaanotto käyttöön vastaanottavassa yhdyskäytävän laitteessa.
-- **Kanava ei täsmää** – molempien gateway-laitteiden täytyy käyttää samaa kanavaa ja samaa PSK-avainta. Eroavaisuus tarkoittaa, että viestit on salattu eri avaimilla ja näyttävät roskalta.
-- **Aihe ei täsmää** – varmista, että molemmat yhdyskäytävät käyttävät samaa juuriaihetta (Root Topic). Oletus `msh` toimii julkisessa välityspalvelimessa.
-
-## Aiheeseen liittyvät aiheet
-
-- [Asetukset — Moduulit ja ylläpito](settings-module-admin) — MQTT-moduulin asetusten viite
-- [Viestit ja kanavat](messages-and-channels) — kanavasalaus ja PSK-asetukset
-- [MQTT-integraatio-opas](https://meshtastic.org/docs/software/integrations/mqtt) — yksityiskohtainen MQTT-dokumentaatio meshtastic.org -sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/node-metrics.html b/v2.8.0/docs/fi-rFI/user/node-metrics.html deleted file mode 100644 index be8a3c78ae..0000000000 --- a/v2.8.0/docs/fi-rFI/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Radion mittarit - - - -
# Radion mittarit
-
-Radion tietonäyttö tarjoaa kattavat telemetria- ja mittaritiedot jokaiselle verkon radiolle.
-
-## Laitteen mittausloki
-
-Perustoimintatiedot, jotka jokainen radio raportoi:
-
- Metrijärjestelmä | Kuvaus                                           |
- ---------------- | ------------------------------------------------ |
- Akun varaustaso  | Nykyinen akun varaustaso                         |
- Jännite          | Akun jännitelukema                               |
- Kanavan Käyttö   | Käytetyn lähetysajan käyttöasteen prosenttiosuus |
- Lähetysaika      | Tämän radion käyttämä lähetysaika                |
- Käyttöaika       | Aika viimeisestä uudelleenkäynnistyksestä        |
-
-Laitemittarit näytetään erillisinä kortteina, joissa trendikäyrät esittävät akun varaustason, jännitteen, kanavan käyttöasteen, käyttöasteen ja käyttöajan kehitystä ajan kuluessa.
-
-> 💡 **Vinkki:** Napauta mitä tahansa mittarikorttia laajentaaksesi sen täydelliseksi kaavioksi, jossa näkyvät historiatiedot. Nipistä lähentääksesi tai loitontaaksesi aika-akselia.
-
-## Ympäristöarvot
-
-Ympäristöanturien tiedot (edellyttää yhteensopivaa laitteistoa):
-
- Metrijärjestelmä                    | Anturiesimerkkejä     |
- ----------------------------------- | --------------------- |
- Lämpötila                           | BME280, BME680, SHT31 |
- Kosteus                             | BME280, BME680, SHT31 |
- Barometrinen paine                  | BME280, BMP280        |
- Kaasuvastus                         | BME680                |
- IAQ (ilmanlaatu) | BME680                |
-
-Ympäristömittarit esitetään kaavioina ajan kuluessa tapahtuvan trendianalyysin helpottamiseksi — lämpötila, kosteus ja ilmanpaine saavat kukin oman viivakaavionsa, jossa mittayksikkö näkyy Y-akselilla.
-
-BME680:n **IAQ (Indoor Air Quality)** -indeksi on yksi arvo väliltä 0–500+, joka perustuu kaasun resistanssiin. Se näytetään värikoodatulla asteikolla välillä _Erinomainen_–_Vaarallisen saastunut_:
-
-![IAQ-indeksin asteikko välillä Erinomainen–Vaarallisen saastunut](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Vinkki:** Ympäristömittarit edellyttävät etäradioon liitettyä anturia. Kaikki radiot eivät raportoi ympäristötietoja. Katso [Telemetria ja anturit](telemetry-and-sensors) saadaksesi täydellisen luettelon tuetuista antureista.
-
-## Ilmanlaatumittarit
-
-Ilmanlaatu on erillinen mittarinäkymä radioille, joissa on hiukkas- ja/tai CO₂-anturi. Se on **erillinen BME680:n IAQ-lukemasta**, joka on lueteltu ympäristömittareissa — IAQ on yksittäinen kaasuvastukseen perustuva indeksi, kun taas ilmanlaatunäkymä esittää varsinaiset hiukkas- ja CO₂-mittaukset kaavioina.
-
- Metrijärjestelmä      | Yksikkö     | Kuvaus                                                                                                                                                                                                                                                                                     |
- --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- PM1.0 | µg/m³       | Enintään 1,0 mikrometrin kokoiset hiukkaset                                                                                                                                                                                                                                                |
- PM2.5 | µg/m³       | Enintään 2,5 mikrometrin kokoiset hiukkaset                                                                                                                                                                                                                                                |
- PM10                  | µg/m³       | Enintään 10 mikrometrin kokoiset hiukkaset                                                                                                                                                                                                                                                 |
- AQI                   | EPA-indeksi | EPA:n **NowCast**-AQI, joka lasketaan viimeaikaisesta PM2.5-historiastasi ja esitetään värikoodatulla ilmanlaadun luokituksella. Näytetään PM2.5-arvon yhteydessä, kun mittauksia on kertynyt riittävästi. |
- CO₂                   | ppm         | Hiilidioksidipitoisuus                                                                                                                                                                                                                                                                     |
- CO₂ lämpötila         | °C / °F     | CO₂ anturin ilmoittama lämpötila (esim. SCD4x)                                                                                                                                                                                                          |
- CO₂ kosteus           | %           | CO₂ anturin ilmoittama suhteellinen ilmankosteus                                                                                                                                                                                                                                           |
-
-CO₂-lukemat on värikoodattu vakavuusasteen mukaan, jotta ilmanlaadun arviointi onnistuu yhdellä silmäyksellä:
-
- Taajuusalue | CO₂-pitoisuus (ppm) | Väri           |
- ----------- | -------------------------------------- | -------------- |
- Hyvä        | < 1000        | Vihreä         |
- Tunkkainen  | < 2000        | Keltainen      |
- Huono       | < 5000        | Oranssi        |
- Vaarallinen | < 30000       | Punainen       |
- Evakuoi     | ≥ 30000                                | Tummanpunainen |
-
-![Ilmanlaatulukemat värikoodatulla CO₂-vakavuusasteella](../../assets/screenshots/node-metrics_air_quality.png)
-
-Ilmanlaatu tai mittaripainike näkyy radion tietonäytössä **vain silloin, kun radio on raportoinut ilmanlaatutelemetriaa**. Ilmanlaatu-näkymässä voit:
-
-- Valita kaavioille **aikajakson**.
-- Suodattaa **mittarisiruilla** — vain mittarit, joista on dataa, näytetään.
-- **Päivittää ja pyytää** uusimmat ilmanlaatutelemetriatiedot.
-- **Viedä CSV-tiedostoon** analysoitavaksi taulukkolaskentaohjelmassa.
-
-> 💡 **Vinkki:** Ilmanlaatumittarit edellyttävät yhteensopivaa ilmanlaatuanturia etäradiossa. Jos radiossa ei ole hiukkas- tai CO₂-anturia, ilmanlaatupainiketta ei näytetä. Katso [Telemetria ja anturit](telemetry-and-sensors) saadaksesi lisätietoja tuetusta laitteistosta.
-
-## Signaalin voimakkuudet
-
-Radiosignaalin laatutiedot:
-
- Metrijärjestelmä | Kuvaus                                                                                                                    |
- ---------------- | ------------------------------------------------------------------------------------------------------------------------- |
- SNR              | Signaali-kohinasuhde (suurempi SNR on parempi)                                                         |
- RSSI             | Vastaanotetun signaalin voimakkuusindikaattori (RSSI) (lähempänä nollaa on parempi) |
- Kohinataso       | Paikallinen taustakohina dBm-arvona (negatiivisempi on hiljaisempi)                                    |
- Hyppylaskuri     | Verkon hyppymäärä viimeisimmälle viestille                                                                                |
-
-### Signaalin laadun viitearvot
-
-Signaalin laatu arvioidaan **SNR**-arvon perusteella suhteessa käytössä olevan LoRa-modeemiesiasetuksen **demodulaation alarajaan**, ei kiinteiden raja-arvojen perusteella. Sama SNR-arvo voi tarkoittaa eri asioita eri esiasetuksilla (esim. `-15 dB` on hyvä LongSlow-esiasetuksella, mutta käyttökelvoton ShortFast-esiasetuksella). RSSI näytetään, mutta sitä ei käytetä arvioinnissa. Jos `raja` tarkoittaa esiasetuksen SNR-rajaa:
-
- Laatu       | Kriteerit                          |
- ----------- | ---------------------------------- |
- Hyvä        | SNR esiasetuksen rajan yläpuolella |
- Kohtalainen | alle 5,5 dB rajan alapuolella      |
- Huono       | 5,5–7,5 dB rajan alapuolella       |
- ei mitään   | yli 7,5 dB rajan alapuolella       |
-
-Katso [Signaalimittarin toiminta](signal-meter), jos haluat täydellisen selityksen.
-
-Yhdistetyn radion paikalliset tilastot näytetään myös Signaalin laatu -näkymässä silloin, kun ne ovat saatavilla. Nämä kerätyt tiedot sisältävät kohinatason, liikennelaskurit, välityslaskurit, verkossa olevien radioiden määrän sekä radion käyttöajan. Kohinatason kaaviossa käytetään katkoviivalla merkittyä viiteviivaa arvossa -85 dBm, jotta kuormittunut RF-ympäristö on helpompi tunnistaa. Käytä **Pyydä**-painiketta pyytääksesi yhdistetystä radiosta tuoreen Paikalliset tilastot -telemetriaraportin, **Tyhjennä**-painiketta poistaaksesi Paikalliset tilastot -lokit kyseiseltä radiolta ja **Tallenna**-painiketta viedäksesi näkyvän Paikalliset tilastot -historian CSV-tiedostoksi.
-
-## Virranhallinnan arvot
-
-Virranhallintatelemetria (edellyttää INA-anturia tai yhteensopivaa laitteistoa):
-
- Metrijärjestelmä | Kuvaus                        |
- ---------------- | ----------------------------- |
- Väyläjännite     | Syöttöjännite                 |
- Virta            | Virrankulutus milliampeereina |
- Virta            | Laskennallinen teho           |
-
-## Reitinselvitys
-
-Reitinselvitys näyttää viestin kulkeman reitin verkossa:
-
-1. Napauta radion tietonäytössä **Reitinselvitys**.
-2. Sovellus lähettää reitinselvityspyynnön kohderadiolle.
-3. Tulokset näyttävät jokaisen hypyn SNR- ja RSSI-arvoineen.
-
-### Reitinselvityksen tulosten lukeminen
-
-```
-Sinä → Radio A (SNR: 8.5) → Radio B (SNR: 5.2) → Kohde
-```
-
-Jokainen hyppy edustaa välitysradiota, joka välitti viestin eteenpäin.
-
-## Sijainnin Loki
-
-Historialliset sijaintitiedot radioille, jotka jakavat sijaintinsa:
-
-- GPS-koordinaatit
-- Korkeus
-- Nopeus (jos radio liikkuu)
-- Aikaleima jokaiselle sijaintiraportille
-
-## Naapuritieto
-
-Näyttää, mitkä radiot tietty radio voi kuulla suoraan, mikä auttaa ymmärtämään verkon topologiaa.
-
-## Mittareiden tarkastelu
-
-1. Siirry kohtaan **Radiot**.
-2. Napauta radiota, jota haluat tarkastella.
-3. Valitse mittariluokka tietonäytön välilehdistä.
-
-![Radion tietonäyttö – paikallinen laite](../../assets/screenshots/nodes_detail_local.png)
-
-Sijainti-välilehti näyttää sijaintitiedot radioille, jotka jakavat GPS-sijaintinsa:
-
-![Sijaintivälilehden sisältö](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Huomautus:** Mittarit ovat käytettävissä vain, jos etäradio on raportoinut ne. Mittarit päivittyvät kunkin radion telemetria-asetuksissa määritetyin väliajoin.
-
-## Aiheeseen liittyvät aiheet
-
-- [Radiot](nodes) — radioluettelo, suodatus ja lajittelu
-- [Telemetria ja anturit](telemetry-and-sensors) — tuetut anturit ja määritykset
-- [Signaalimittari](signal-meter) — miten signaalin laatu lasketaan SNR- ja RSSI-arvoista
-- [Haku](discovery) — reitinselvityksen tiedot ja naapuritiedot
-- [Yksiköt ja aluekohtaiset asetukset](units-and-locale) — lämpötilan, etäisyyden ja nopeuden näyttömuodot
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/nodes.html b/v2.8.0/docs/fi-rFI/user/nodes.html deleted file mode 100644 index 0aa3fba649..0000000000 --- a/v2.8.0/docs/fi-rFI/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Laitteet - - - -
# Laitteet
-
-Radiot-näyttö näyttää kaikki verkossasi näkyvät laitteet.
-
-## Radiolista
-
-Radioluettelo näyttää kaikki radiot, joista radiosi on vastaanottanut tietoja, mukaan lukien:
-
-- **Radion nimi** — käyttäjän määrittämä pitkä nimi
-- **Lyhyt nimi** — 4-merkkinen tunniste
-- **Signaalin laatu** — viimeksi vastaanotetun signaalin voimakkuus
-- **Viimeksi kuultu** — aika viimeisimmästä yhteydestä
-- **Etäisyys** — arvioitu etäisyys (jos sijaintitiedot jaetaan)
-- **Akku** — etäradion akun varaustaso (jos telemetria on käytössä)
-
-### Radion tilailmaisimet
-
- Tunniste     | Tarkoitus                              |
- ------------ | -------------------------------------- |
- 🟢 Verkossa  | Radio kuultu viimeisen 2 tunnin aikana |
- Ei verkkossa | Radiosta ei ole kuultu yli 2 tuntiin   |
- ⭐ Suosikki   | Käyttäjän suosikiksi merkitsemä radio  |
-
-Radio katsotaan **verkossa olevaksi**, jos siitä on kuultu viimeisten 2 tunnin aikana. Muussa tapauksessa se katsotaan **poissa verkosta** olevaksi — erillistä "poissa"-tilaa ei ole.
-
-### Radion roolit
-
-Radioille voidaan määrittää erilaisia rooleja, jotka vaikuttavat niiden toimintaan verkossa:
-
- Rooli                | Kuvaus                                                                                                                                                                         |
- -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client               | Tavallinen loppukäyttäjän laite                                                                                                                                                |
- Client Base          | Käsittelee suosikkiradioiden liikenteen Router Late -prioriteetilla, kaiken muun liikenteen Client -prioriteetilla                                                             |
- Client Mute          | Vastaanottaa viestejä, mutta ei lähetä niitä edelleen                                                                                                                          |
- Client Hidden        | Kuten Client Mute, mutta piilotetaan myös radioluettelosta                                                                                                                     |
- Router               | Priorisoi viestien välittämistä; pysyy hereillä välittääkseen viestejä                                                                                                         |
- Router Late          | Infrastruktuuriradio, joka lähettää viestin uudelleen kerran, mutta vasta kaikkien muiden tilojen jälkeen (tarjoaa lisäpeittoa)                             |
- ~~Router Client~~    | ⚠️ **Vanhentunut** (poistettu laiteohjelmistossa 2.3.15) — ei enää valittavissa; käytä sen sijaan Router- tai Client-roolia |
- ~~Repeater~~         | ⚠️ **Vanhentunut** (poistettu laiteohjelmistossa 2.7.11) — ei enää valittavissa; käytä sen sijaan Router-roolia             |
- Tracker              | Optimoitu sijainnin raportointiin säännöllisin väliajoin                                                                                                                       |
- Sensor               | Optimoitu telemetrian raportointiin                                                                                                                                            |
- TAK                  | Yhteensopiva TAK-järjestelmien kanssa (lähettää ja vastaanottaa CoT-viestejä)                                                                               |
- TAK Tracker          | Vain TAK-sijainnin raportointi                                                                                                                                                 |
- Kadonnut ja löydetty | Jatkuva sijaintimajakka löytämistä varten                                                                                                                                      |
-
-### Roolin valitseminen
-
-Useimpien käyttäjien kannattaa käyttää oletusarvoista **Client**-roolia. Harkitse muuta roolia seuraavissa tilanteissa:
-
-- **Router** — Sinulla on radio kiinteässä, korkealla sijaitsevassa paikassa, jossa on luotettava virransyöttö (katto, mäki). Routerit pysyvät jatkuvasti hereillä välittääkseen muiden viestejä ja ovat tärkeitä verkon peittoalueen laajentamisessa. Älä käytä **Router**-roolia akkukäyttöisissä käsilaitteissa.
-- **Router Late** — Infrastruktuuriradio, joka lähettää paketit uudelleen kerran, mutta vasta kaikkien muiden reititystilojen jälkeen. Tarjoaa lisäpeittoa paikallisille ryhmille kilpailematta ensisijaisten Routerien kanssa.
-- **Client Base** — Käsittelee suosikkiradioihisi menevän tai niistä tulevan liikenteen Router Late -prioriteetilla (varmistaen näille viesteille ylimääräisen välityspeiton), samalla kun kaikki muu käsitellään tavallisen Client-roolin tavoin.
-- **Client Mute** — Voit vastaanottaa verkkoliikennettä, mutta et osallistu viestien välittämiseen. Hyödyllinen vain valvontaan käytettäville laitteille tai ruuhkien vähentämiseen tiheästi rakennetuilla alueilla.
-- **Tracker** — Valvomaton laite, jonka ainoa tarkoitus on lähettää GPS-sijaintiaan (esim. ajoneuvo, lemmikki tai omaisuus). Nukkuu lähetysten välillä akun säästämiseksi.
-- **Sensor** — Valvomaton laite, joka raportoi ympäristötelemetriaa (lämpötila, kosteus, ilmanlaatu). Samanlainen virrankulutusprofiili kuin Tracker-roolissa.
-- **TAK / TAK Tracker** — Tarvitaan vain yhteensopivuuteen ATAK-/WinTAK-järjestelmien kanssa. Katso [TAK-integraatio](tak) lisätietoja varten.
-
-> 💡 **Vinkki:** Verkko toimii parhaiten, kun suurin osa radioista käyttää **Client**- tai **Router**-roolia. Liian suuri määrä Client Mute -rooleja heikentää verkon toimintavarmuutta, kun taas liian suuri määrä Router-rooleja tiheässä verkossa voi aiheuttaa ruuhkaa. Hyvä nyrkkisääntö on yksi Router jokaista 5–10 Client-roolia kohden alueellasi.
-
-### Salausilmaisimet
-
-Radiot näyttävät nimensä vieressä salauksen tilaa kuvaavat kuvakkeet:
-
- Kuvake          | Merkitys                                                                                                                                                                       |
- --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- 🔒 Lukittu      | Yhteys käyttää PKI:tä (julkisen avaimen infrastruktuuria) — päästä päähän salattu ja varmennetulla identiteetillä suojattu. |
- 🔓 Lukitsematon | Yhteys käyttää PKI:tä (julkisen avaimen infrastruktuuria) — päästä päähän salattu ja varmennetulla identiteetillä suojattu. |
- ⚠️ Ei täsmää    | Julkinen avain ei täsmää — radion avain on muuttunut viime näkemän jälkeen (tutki ennen luottamista).                                       |
-
-> 💡 **Vinkki:** PKI-salaus (laiteohjelmisto 2.5+) tarjoaa vahvemman suojauksen kuin kanavan PSK-avain, koska jokaisella radiolla on oma yksilöllinen avainparinsa. Jos näet avaimen täsmäämättömyysvaroituksen, radio on voitu nollata tai sen tietoturva on voinut vaarantua.
-
-## Pikatoiminnot
-
-Radioluettelosta voit:
-
-- **Napauttaa** radiota avataksesi sen tietosivun
-- **Pitkä painallus** pikatoimintoja varten:
-  - Merkitse tai poista suosikki
-  - Mykistä tai poista mykistys ilmoituksista
-  - Lähetä yksityisviesti
-  - Reitinselvitys
-  - Ohita tai poista ohitus
-  - Poista laite
-
-## Suodatus ja lajittelu
-
-### Tekstihaku
-
-Kirjoita hakukenttään suodattaaksesi radioita nimen tai lyhyen nimen perusteella. Suodatus päivittyy reaaliajassa kirjoittaessasi.
-
-### Suodatusvalinnat
-
- Suodatus                              | Kuvaus                                                                              |
- ------------------------------------- | ----------------------------------------------------------------------------------- |
- **Vain verkossa olevat**              | Näytä vain radiot, joista on kuultu viimeisten 2 tunnin aikana                      |
- **Vain suorat**                       | Näytä vain radiot, joihin on suora yhteys (ei välitetty yhteys)  |
- **Näytä tuntemattomat**               | Näytä radiot, jotka eivät ole vielä lähettäneet käyttäjätietoja                     |
- **Ohita infrastruktuurilaitteet**     | Piilota infrastruktuuriroolit (Router, Router Late, Client Base) |
- **Rajaa MQTT pois**                   | Piilottaa radiot, joista on kuultu vain MQTT-internetsillan kautta                  |
- **Näytä vain huomioimattomat radiot** | Näytä radiot, jotka olet aiemmin ohittanut tai mykistänyt                           |
-
-### Lajitteluvaihtoehdot
-
- Lajittelu                                       | Kuvaus                                                                            |
- ----------------------------------------------- | --------------------------------------------------------------------------------- |
- **Viimeksi kuultu** (oletus) | Näytä viimeksi kuullut radiot ensin                                               |
- **Aakkosjärjestys**                             | Lajiteltu radion pitkän nimen mukaan                                              |
- **Etäisyys**                                    | Lähimpänä olevat radiot ensin (edellyttää sijainnin jakamista) |
- **Hyppyjä**                                     | Vähiten välityshyppyjä vaativat radiot ensin                                      |
- **Kanava**                                      | Ryhmitelty kanavaindeksin mukaan                                                  |
- **MQTT:n kautta**               | Ryhmitelty MQTT:n kautta kuultuihin ja radiolla kuultuihin        |
- **Suosikkien kautta**                           | Suosikkiradiot ensin                                                              |
-
-## Radiot hyppymäärän mukaan
-
-Avaa pylväskaavio, joka näyttää radioiden määrän kullakin hyppyetäisyydellä, napauttamalla radioluettelon sovelluspalkissa olevaa hyppyhistogrammikuvaketta (0 = suora yhteys, 1 = yksi välityshyppy ja niin edelleen). Suodata kaavio **Viimeksi kuultu** -ajanjakson mukaan — Kaikki ajat, 1 tunti, 8 tuntia tai 24 tuntia — nähdäksesi, miltä mesh-verkko näyttää juuri nyt verrattuna pidempään ajanjaksoon. Tämä on nopea tapa arvioida, kuinka laaja ja kuormittunut paikallinen mesh-verkkosi on.
-
-## Radion tiedot
-
-Radion napauttaminen avaa tietonäkymän, jossa on kattavat tiedot. Katso [Radion mittarit](node-metrics) saadaksesi täydelliset tiedot mittareista ja telemetriasta.
-
-![Radion tietonäkymä](../../assets/screenshots/nodes_node_list.png)
-
-Tietonäyttö sisältää laitetiedot, sijainnin ja toimintopainikkeet:
-
-![Radion tietonäkymän osio](../../assets/screenshots/nodes_detail_section.png)
-
-Rivinsisäiset tilailmaisimet näyttävät tärkeimmät tiedot yhdellä silmäyksellä:
-
- Ilmaisin        | Kuvakaappaus                                                      |
- --------------- | ----------------------------------------------------------------- |
- Signaalin laatu | ![Signaali](../../assets/screenshots/nodes_signal_info.png)       |
- Akun varaus     | ![Akku](../../assets/screenshots/nodes_battery_info.png)          |
- Hyppymäärä      | ![Hypyt](../../assets/screenshots/nodes_hops_info.png)            |
- Viimeksi kuultu | ![Viimeksi kuultu](../../assets/screenshots/nodes_last_heard.png) |
- Etäisyys        | ![Etäisyys](../../assets/screenshots/nodes_distance_info.png)     |
-
-### Laite-linkit ("Haluan sellaisen")
-
-Kun radion laitteisto tunnistetaan, tietonäkymä näyttää avattavan **"Haluan sellaisen"** -osion, jossa on linkkejä laitteen ostamiseen tai lisätietojen hankkimiseen: valmistajan tuotesivu, tuoteversiot sekä alueelliset kauppapaikkalistaukset (esim. AliExpress, Amazon ja tuetut jälleenmyyjät), suodatettuna maasi mukaan. Jokainen linkki avautuu mesh.to -uudelleenohjauspalvelun kautta. Laitteet, joille ei löydy vastaavia linkkejä, eivät näytä tätä osiota.
-
-Kaikkien linkkien selattava hakemisto löytyy myös kohdasta **Asetukset → Ohje ja dokumentaatio → Laitelinkit**.
-
-## Aiheeseen liittyvät aiheet
-
-- [Radion mittarit](node-metrics) — yksityiskohtaiset telemetriakoontinäytöt jokaiselle radiolle
-- [Viestit ja kanavat](messages-and-channels) — lähetä yksityisviesti radiolle
-- [Kartta ja reittipisteet](map-and-waypoints) — tarkastele radioiden sijainteja kartalla
-- [Haku](discovery) — reitinselvitys- ja naapuritiedot verkon topologian tutkimiseen
-- [Signaalimittari](signal-meter) — ymmärrä, mitä signaalipalkit tarkoittavat
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/onboarding.html b/v2.8.0/docs/fi-rFI/user/onboarding.html deleted file mode 100644 index 62cd9c5312..0000000000 --- a/v2.8.0/docs/fi-rFI/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Aloittaminen - - - -
# Aloittaminen
-
-Tervetuloa Meshtasticiin! Tämä opas opastaa sinut Meshtastic Android -sovelluksen alkuasetusten läpi.
-
-## Ensimmäinen käynnistys
-
-Kun avaat sovelluksen ensimmäistä kertaa, sinut ohjataan käyttöönottoprosessin läpi, joka auttaa määrittämään tarvittavat käyttöoikeudet ja asetukset. Voit suorittaa jokaisen vaiheen järjestyksessä tai ohittaa ne ja määrittää käyttöoikeudet myöhemmin Androidin asetuksissa.
-
-### Aloitusnäkymä
-
-Tervetulonäyttö esittelee Meshtasticin ja sen tärkeimmät ominaisuudet:
-
-- Matkapuhelinverkosta riippumaton mesh-viestintä
-- Ei vaadi matkapuhelinverkkoa tai internetyhteyttä
-- Päästä päähän salattu viestintä
-
-Napauta **"Aloita"** jatkaaksesi käyttöönottoprosessia.
-
-![Tervetulonäyttö](../../assets/screenshots/onboarding_welcome.png)
-
-## Käyttöoikeudet
-
-Sovellus pyytää määrityksen aikana useita käyttöoikeuksia. Jokaisella niistä on oma tarkoituksensa, ja osa niistä on välttämättömiä perustoimintojen kannalta.
-
-### Bluetooth-käyttöoikeus
-
-Bluetooth on ensisijainen yhteystapa puhelimesi ja Meshtastic-radion välillä:
-
-- **Bluetooth-skannaus** — etsi lähellä olevia Meshtastic-radioita
-- **Bluetooth-yhteys** — muodosta ja ylläpidä yhteyksiä pariliitettyihin radioihin
-
-Myönnä molemmat käyttöoikeudet pyydettäessä. Ilman Bluetoothia sinun on käytettävä sen sijaan USB- tai TCP-yhteyksiä.
-
-### Sijaintikäyttöoikeus
-
-> ⚠️ **Miksi sijaintikäyttöoikeus tarvitaan Bluetoothille?** Android vaatii sijaintikäyttöoikeuden lähellä olevien Bluetooth Low Energy -laitteiden löytämiseen. Tämä on Android-järjestelmän vaatimus, eikä Meshtasticin erityinen valinta.
-
-Meshtastic käyttää sijaintiasi myös seuraaviin tarkoituksiin:
-
-- Sijaintisi näyttäminen mesh-kartalla
-- Etäisyyksien laskeminen muihin radioihin
-- GPS-koordinaattiesi jakaminen muiden verkon jäsenten kanssa (jos käytössä)
-
-Myönnä **"Sovelluksen käytön aikana"** tai **"Aina"** oman mieltymyksesi mukaan:
-
-- **Sovelluksen käytön aikana** — sijainti päivittyy vain silloin, kun sovellus on avoinna
-- **Aina** — mahdollistaa sijainnin päivittämisen taustalla jatkuvaa verkon läsnäoloa varten
-
-Jos käyttöoikeus evätään, Bluetooth-skannaus ei toimi eikä radiosi raportoi sijaintia.
-
-### Ilmoituskäyttöoikeus
-
-Ilmoitukset kertovat sinulle:
-
-- Saapuvista viesteistä kanavilta ja yksityisviesteistä
-- Uusista mesh-verkkoon liittyvistä radioista
-- Etäradion akun vähäisestä virrasta
-
-> 💡 **Vinkki:** Voit myöhemmin säätää ilmoitusasetuksia Androidin järjestelmäasetuksissa. Sovellus luo jokaiselle ilmoitusluokalle oman ilmoituskanavan (sekä muutamia sisäisiä kanavia, kuten taustapalvelulle), joten voit ottaa ne käyttöön tai mykistää ne yksitellen.
-
-### Kriittisten hälytysten käyttöoikeus
-
-Tuetuilla laitteilla sovellus voi pyytää käyttöoikeutta kriittisiin hälytyksiin:
-
-- Nämä ovat korkean prioriteetin ilmoituksia, jotka voivat ohittaa Älä häiritse -tilan
-- Hyödyllinen hätätilanteiden verkkohälytyksille tai kiireellisille viesteille
-- Voit **ohittaa** tämän vaiheen, jos et tarvitse ilmoituksia, jotka ohittavat **Älä häiritse** -tilan
-- Voit määrittää tai peruuttaa tämän myöhemmin Androidin ilmoitusasetuksissa
-
-## Määrityksen jälkeen
-
-Kun käyttöoikeudet on myönnetty, sovellus siirtyy pääkäyttöliittymään. Ensimmäinen toimenpiteesi pitäisi olla yhteyden muodostaminen Meshtastic-radioon — katso [Yhteydet](connections) yksityiskohtaisia ohjeita varten.
-
-> 💡 **Vinkki:** Jos ohitit käyttöoikeuksia määrityksen aikana, voit myöntää ne myöhemmin kohdassa **Androidin asetukset → Sovellukset → Meshtastic → Käyttöoikeudet**. Sovellus pyytää sinulta uudelleen käyttöoikeutta, jos puuttuva käyttöoikeus estää käyttämästä ominaisuutta, jota yrität käyttää.
-
-## Mitä seuraavaksi?
-
-Kun olet muodostanut yhteyden radioon, tutustu seuraaviin:
-
-- [Yhteydet](connections) — yhdistä ensimmäinen radiolaitteesi
-- [Viestit ja kanavat](messages-and-channels) — lähetä ensimmäinen viestisi
-- [Radiot](nodes) — katso, ketkä ovat verkossasi
-- [Kartta ja reittipisteet](map-and-waypoints) — tarkastele radioiden sijainteja
-- [Asetukset](settings-radio-user) — määritä radiosi ja käyttäjäprofiilisi
-
-Uusi Meshtasticissa? [Aloitusopas](https://meshtastic.org/docs/getting-started) meshtastic.org-sivustolla käsittelee laitteiston valintaa, radion alkuasetuksia ja ensimmäisen verkon käyttöönottoa.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/settings-module-admin.html b/v2.8.0/docs/fi-rFI/user/settings-module-admin.html deleted file mode 100644 index 9a500ee67a..0000000000 --- a/v2.8.0/docs/fi-rFI/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Asetukset — Moduulit ja ylläpito - - - -
# Asetukset — Moduulit ja ylläpito
-
-Määritä valinnaiset ominaisuusmoduulit ja suorita laitteen ylläpitotoimia. Moduulit laajentavat Meshtasticia erikoisominaisuuksilla — jokainen voidaan ottaa käyttöön tai poistaa käytöstä erikseen.
-
-> 💡 **Vinkki:** Ota käyttöön vain ne moduulit, joita todella käytät. Käyttämättömien moduulien poistaminen käytöstä vähentää lähetyksen käyttöastetta, säästää akkua ja yksinkertaistaa määrityksiä.
-
-Moduuliasetukset käyttävät korttipohjaista asettelua, jossa on kytkimiä, pudotusvalikoita, tekstikenttiä ja liukusäätimiä:
-
-![Kytkin](../../assets/screenshots/settings_switch.png)
-
-![Pudotusvalikko](../../assets/screenshots/settings_dropdown.png)
-
-![Tekstikenttä](../../assets/screenshots/settings_text_field.png)
-
-![Asetuskortin asettelu](../../assets/screenshots/settings_titled_card.png)
-
-## Moduulin määritys
-
-### MQTT-moduuli
-
-Yhdistää verkon viestejä MQTT-välityspalvelimeen ja sieltä takaisin internet-yhteyksiä varten. Näin laajennat verkkoasi radiokantaman ulkopuolelle tai integroit sen kodin automaatiojärjestelmiin.
-
- Asetus            | Kuvaus                                                                        |
- ----------------- | ----------------------------------------------------------------------------- |
- Käytössä          | Ota MQTT-välityspalvelin käyttöön                                             |
- Palvelin          | MQTT-välityspalvelimen osoite                                                 |
- Käyttäjänimi      | Todennuksen käyttäjätunnus                                                    |
- Salasana          | Todennuksen salasana                                                          |
- Salaus            | Salaa MQTT-viestisisällöt                                                     |
- ~~JSON Output~~   | ⚠️ **Vanhentunut** — JSON-tuki poistettu laiteohjelmistosta, kenttä ohitetaan |
- TLS               | Käytä suojattua yhteyttä                                                      |
- Juuriaihe         | MQTT:n perusaihepolku                                         |
- Karttaraportointi | Julkaise sijainti julkiselle kartalle                                         |
-
-Katso [MQTT](mqtt) saadaksesi yksityiskohtaisen käyttöoppaan, joka sisältää salauksen, tietosuojan ja välityspalvelimen määrityksen.
-
-### Sarjaporttimoduuli
-
-Mahdollistaa sarjaporttiviestinnän ulkoisten laiteintegraatioiden kanssa (GPS-moduulit, anturit tai mukautettu laitteisto). Kun tämä on käytössä, radion sarjaportti voi lähettää ja vastaanottaa protobuf- tai tekstimuotoista dataa, jolloin ulkoiset mikrokontrollerit tai tietokoneet voivat olla vuorovaikutuksessa verkon kanssa.
-
- Asetus            | Kuvaus                                        |
- ----------------- | --------------------------------------------- |
- Käytössä          | Ota sarjaporttiviestintä käyttöön             |
- Toista            | Toista vastaanotettu sarjaporttidata takaisin |
- Tila              | Teksti-, Protobuf- tai NMEA-ulostulo          |
- RX/TX pinnit      | GPIO-pinnit sarjaporttiyhteyttä varten        |
- Baud-siirtonopeus | Sarjaporttiyhteyden nopeus                    |
-
-### Ulkoisten ilmoitusten moduuli
-
-Ohjaa radion laitteiston summeri-, LED- tai värinähälytyksiä. Hyödyllinen laitteille, joiden täytyy ilmoittaa fyysisesti viestin saapumisesta — erityisen hyödyllinen valvomattomissa tai ulkokäyttöön asennetuissa laitteissa.
-
- Asetus                                 | Kuvaus                                                           |
- -------------------------------------- | ---------------------------------------------------------------- |
- Käytössä                               | Ota ilmoitukset käyttöön                                         |
- Hälytysviesti                          | Ilmoita saapuvista viesteistä                                    |
- Hälytysviestin summeri                 | Käytä summeria viesteille                                        |
- Värinähälytys viesteille               | Käytä värinää viesteille                                         |
- Hälytysääni                            | Ilmoita soittomerkkimerkistä (bell character) |
- Ulostulo (GPIO)     | Pinni ilmoitusulostuloa varten                                   |
- Käytössä                               | Aktiivinen korkealla tai matalalla tasolla                       |
- Kesto (ms)          | Ilmoituksen kesto                                                |
- Käytä I2S:ää summerina | Käytä I2S-äänilähtöä                                             |
-
-### Varastoi & välitä -moduuli
-
-Puskuroi viestejä radioille, jotka ovat tilapäisesti poissa verkosta, ja toimittaa ne, kun nämä radiot yhdistyvät uudelleen. Välttämätön verkoissa, joissa radiot siirtyvät säännöllisesti kuuluvuusalueelle ja sen ulkopuolelle — varmistaa, etteivät viestit katoa lyhyiden yhteyskatkosten aikana.
-
- Asetus                                             | Kuvaus                                                                                                                                                                |
- -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Käytössä                                           | Ota Varastoi & välitä käyttöön                                                                                                                    |
- Valvontasignaali                                   | Ilmoita tämän radion varastoi & välitä -ominaisuudesta säännöllisesti                                                                             |
- Tiedot                                             | Tallennettujen viestien enimmäismäärä                                                                                                                                 |
- Historian palautus (enintään)   | Toistettavien viestien enimmäismäärä                                                                                                                                  |
- Historian palautus (aikaikkuna) | Aikaikkuna viestien toistolle                                                                                                                                         |
- Palvelin                                           | Toimi mesh-verkon varastoi & välitä -palvelimena (edellyttää riittävästi muistia, esimerkiksi ESP32 PSRAM:lla) |
-
-> 💡 **Vinkki:** Varastoi & välitä toimii parhaiten radioissa, joissa on runsaasti muistia (ESP32 ja PSRAM). Router-roolin radiot ovat ihanteellisia ehdokkaita, koska ne ovat yleensä jatkuvasti käynnissä.
-
-### Kuuluvuustesti-moduuli
-
-Automaattinen kuuluvuustestityökalu radioiden välisen yhteyden laadun arviointiin. Kun toiminto on käytössä, radio lähettää säännöllisesti testiviestejä kasvavilla laskuriarvoilla. Vastaanottava radio kirjaa nämä viestit, jolloin voit myöhemmin kävellä tai ajaa pois ja analysoida, millä etäisyydellä viestien saapuminen loppui.
-
- Asetus                             | Kuvaus                                       |
- ---------------------------------- | -------------------------------------------- |
- Käytössä                           | Ota kuuluvuustesti käyttöön                  |
- Lähetysväli (s) | Aika testilähetysten välillä                 |
- Tallenna CSV-tiedosto              | Kirjaa vastaanotetut testitiedot SD-kortille |
-
-### Telemetriamoduuli
-
-Määrittää, mitä telemetriatietoja radiosi jakaa verkkoon. Telemetria sisältää laitteen kuntoon liittyviä tietoja (akun varaustaso, käyttöaika) sekä ympäristöanturien tietoja (lämpötila, kosteus, ilmanpaine).
-
- Asetus                  | Kuvaus                                     |
- ----------------------- | ------------------------------------------ |
- Laitemittarien väli     | Kuinka usein laitemittarit raportoidaan    |
- Ympäristömittarien väli | Kuinka usein ympäristöanturit raportoidaan |
- Ilmanlaatu käytössä     | Raportoi hiukkasanturin tiedot             |
- Virtamittarit käytössä  | Raportoi virrankulutus                     |
-
-Katso [Telemetria ja anturit](telemetry-and-sensors) saadaksesi tietoa tuetuista antureista ja määrityssuosituksista.
-
-### Valmiiden viestien moduuli
-
-Esimääritetyt viestit, joita voidaan käyttää laitteen fyysisillä painikkeilla (radioille, joissa on kiertokooderi, näppäimistö tai vastaava laitteisto). Määritä luettelo pikaviesteistä, jotka voidaan lähettää ilman yhdistettyä puhelinta — ihanteellinen kenttäkäyttöön.
-
- Asetus                         | Kuvaus                                                                        |
- ------------------------------ | ----------------------------------------------------------------------------- |
- ~~Käytössä~~                   | ⚠️ **Vanhentunut** — nykyinen laiteohjelmisto saattaa ohittaa tämän asetuksen |
- Viestit                        | Rivinvaihdoilla eroteltu viestiluettelo                                       |
- Lähetä äänimerkki              | Toista merkkiääni lähetyksen yhteydessä                                       |
- Kiertokooderi                  | Ota kiertokooderin syöte käyttöön                                             |
- Ylös, alas ja painallus-pinnit | GPIO-pinnien määritykset syötteille                                           |
-
-### Äänimoduuli
-
-Codec2-äänituki matalan kaistanleveyden puheviestintään verkossa. Tämä on **kokeellinen** ominaisuus, joka koodaa puheen erittäin pieniksi datapaketeiksi käyttäen Codec2-koodekkia.
-
- Asetus             | Kuvaus                                             |
- ------------------ | -------------------------------------------------- |
- Käytössä           | Ota äänimoduuli käyttöön                           |
- Codec2-nopeus      | Äänenlaadun ja kaistanleveyden välinen kompromissi |
- I2S Word Select    | GPIO-pinni I2S WS:lle              |
- I2S-datasisääntulo | GPIO-nasta I2S DIN:lle             |
- I2S-dataulostulo   | GPIO-pinni I2S DOUT:lle            |
-
-> ⚠️ **Huomautus:** Ääniominaisuudet edellyttävät yhteensopivaa laitteistoa (I2S-mikrofoni ja kaiutin). Äänenlaatu on hyvin matalakaistainen — ajattele "ymmärrettävää radiopuhetta", ei puhelinlaatua.
-
-### Etälaitteiston moduuli
-
-GPIO-ohjaus mesh-verkon kautta. Mahdollistaa etäradion lukea tai kirjoittaa GPIO-nastoja toisessa radiossa — hyödyllinen releiden aktivointiin, kytkimien lukemiseen tai ulkoisen laitteiston ohjaamiseen etäältä.
-
- Asetus                          | Kuvaus                                                                      |
- ------------------------------- | --------------------------------------------------------------------------- |
- Käytössä                        | Ota etä-GPIO-käyttö käyttöön                                                |
- Salli määrittelemättömät pinnit | Salli pääsy mihin tahansa GPIO-nastaan (tietoturvariski) |
- Käytettävissä olevat pinnit     | Enintään 4 tämän radion etälukuun tai kirjoitukseen tarjoamaa GPIO-pinniä   |
-
-> ⚠️ **Varoitus:** Määrittelemättömien pinnien salliminen antaa etäradioille pääsyn kaikkiin GPIO-pinneihin, mikä voi häiritä radion omaa laitteistoa. Ota käyttöön vain erillisissä GPIO-radioissa.
-
-### Naapuritieto-moduuli
-
-Lähettää tietoa suoraan kuulluista naapureista mahdollistaen verkon topologian kartoituksen. Jokainen käyttöön otettu radio jakaa säännöllisesti luettelon muista radioista, jotka se kuulee, sekä niiden signaalin laadun.
-
- Asetus                              | Kuvaus                                                                                                                                                                                              |
- ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Käytössä                            | Ota naapuritiedon lähetys käyttöön                                                                                                                                                                  |
- Päivitysväli (s) | Kuinka usein naapuriluettelo lähetetään                                                                                                                                                             |
- Lähetä LoRan kautta                 | Lähetä myös naapuritiedot LoRa:n kautta, ei pelkästään MQTT:n tai puhelimen kautta. Ei käytettävissä kanavalla, joka käyttää oletusavainta ja nimeä |
-
-Katso [Haku](discovery) saadaksesi lisätietoja naapuritietojen käyttämisestä verkon topologian tutkimiseen.
-
-### Ympäristövalaistusmoduuli
-
-Ohjaa tuetuissa laitteissa olevaa NeoPixeliä tai muita osoitteellisia RGB-LEDejä. Voidaan käyttää visuaalisina tilailmaisimina, ilmoitusvaloina tai koriste-efekteinä.
-
- Asetus                      | Kuvaus                                                     |
- --------------------------- | ---------------------------------------------------------- |
- Ledin tila                  | Kytke LED päälle tai pois päältä                           |
- Virta                       | LED-virran rajoitus (0–31)              |
- Punainen / vihreä / sininen | Yksittäisten värikanavien arvot (0–255) |
-
-### Tunnistusanturimoduuli
-
-Muuttaa radiosi liike- tai ovitunnistimeen perustuvaksi hälytysjärjestelmäksi. Kun GPIO-pinni havaitsee tilamuutoksen (liike havaittu, ovi avattu), radio lähettää hälytysviestin verkkoon.
-
- Asetus                                          | Kuvaus                                                                                                                                    |
- ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
- Käytössä                                        | Ota tunnistusanturi käyttöön                                                                                                              |
- Valvonta pinni                                  | Anturiin kytketty GPIO-pinni                                                                                                              |
- Havaitsemisen laukaisutyyppi                    | Miten pinnin tila vastaa havaitsemistapahtumaa (esim. aktiivinen korkea/matala taso tai reunalaukaisu) |
- Käytä sisäistä ylösvetovastusta                 | Ota pinnin sisäinen ylösvetovastus käyttöön                                                                                               |
- Lähetyksen vähimmäisväli (s) | Hälytyslähetysten vähimmäisaika                                                                                                           |
- Tilalähetys (s)              | Tilatiedon lähetysväli                                                                                                                    |
- Lähetä äänimerkki                               | Sisällytä soittomerkkimerkki hälytyksiin                                                                                                  |
- Käyttäjäystävälinen nimi                        | Tälle anturille määritetty nimi                                                                                                           |
-
-### PAX-laskurimoduuli
-
-Henkilölaskuri, joka hyödyntää Wi-Fi- ja BLE-koepyyntöjä. Laskee lähellä olevia laitteita kuuntelemalla passiivisesti koepyyntöjä, joita puhelimet ja kannettavat tietokoneet lähettävät etsiessään verkkoja. Saatavilla vain ESP32-laitteissa.
-
- Asetus                              | Kuvaus                                   |
- ----------------------------------- | ---------------------------------------- |
- Käytössä                            | Ota henkilölaskenta käyttöön             |
- Päivitysväli (s) | Kuinka usein laskentatiedot raportoidaan |
-
-> 💡 **Vinkki:** PAX-laskuri on hyödyllinen jalankulkijamäärien arviointiin retkeilyreittien lähtöpisteissä, tapahtumapaikoilla tai muissa kohteissa. Laskentatulokset ovat arvioita — yhdellä henkilöllä voi olla useita laitteita mukana.
-
-### TAK-moduuli
-
-Team Awareness Kit -integraatio yhteensopivuutta varten ATAK- ja WinTAK-järjestelmien kanssa. Katso [TAK-integraatio](tak) saadaksesi tarkemmat määritys- ja käyttöohjeet.
-
-## Ylläpito
-
-### Etähallinta
-
-Määritä etänä radiot, jotka jakavat saman ylläpitoavaimen:
-
-1. Valitse kohderadio radioluettelosta.
-2. Siirry kyseisen radion **Asetukset**-kohtaan.
-3. Muokkaa määrityksiä.
-4. Napauta **Tallenna** — muutokset lähetetään verkon kautta.
-
-> ⚠️ **Edellyttää:** Ylläpitoavain on määritetty sekä omassa radiossasi että kohderadiossa.
-
-### Tyhjennä NodeDB-tietokanta
-
-Poistaa vanhentuneet radiot paikallisesta tietokannastasi, jos niistä ei ole kuultu määritettävän aikaikkunan aikana.
-
-### Palauta tehdasasetukset
-
-Palauttaa kaikki asetukset tehdasasetuksiin. **Tätä toimintoa ei voi perua.**
-
-### Käynnistä uudelleen
-
-Käynnistä yhdistetty tai ylläpidettävä radio etänä uudelleen.
-
-### Vianetsintäpaneeli
-
-Avaa **Paketit**- ja **Sovelluslokit**-välilehdet diagnostiikkatietojen tarkastelua, suodatusta ja vientiä varten. Katso [Virheenjäljityslokit](debug-logs), jossa on täydellinen käyttöohje.
-
-### Etähallinnan vianmääritys
-
-- **Ei vastausta kohderadiolta** — kohderadio voi olla kuuluvuusalueen ulkopuolella, poissa verkosta tai siinä voi olla eri ylläpitoavain. Varmista, että ylläpitoavain on sama molemmissa radioissa.
-- **Muutokset eivät tule voimaan** — jotkin asetukset edellyttävät uudelleenkäynnistystä ennen kuin ne astuvat voimaan. Kokeile Uudelleenkäynnistystä tallennuksen jälkeen.
-- **Et näe etäasetuksia** — varmista, että radiossasi on kohderadion ylläpitoavain. Ylläpitokanava määritetään automaattisesti, kun ylläpitoavain on asetettu.
-
-## Aiheeseen liittyvät aiheet
-
-- [Asetukset — Radio ja käyttäjä](settings-radio-user) — radion ja käyttäjäprofiilin keskeiset asetukset
-- [Moduulien määritysviite](https://meshtastic.org/docs/configuration/module) — yksityiskohtainen moduulidokumentaatio meshtastic.org-sivustolla
-- [UKK](https://meshtastic.org/docs/faq/) – usein kysytyt kysymykset meshtastic.org -sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/settings-radio-user.html b/v2.8.0/docs/fi-rFI/user/settings-radio-user.html deleted file mode 100644 index 36783b5e3c..0000000000 --- a/v2.8.0/docs/fi-rFI/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Asetukset — Radio ja käyttäjä - - - -
# Asetukset — Radio ja käyttäjä
-
-Määritä radion laitteisto ja käyttäjätunnistetiedot.
-
-## Käyttäjäasetukset
-
-### Käyttäjäprofiili
-
- Asetus                   | Kuvaus                                                                                                  |
- ------------------------ | ------------------------------------------------------------------------------------------------------- |
- Pitkä nimi               | Näyttönimesi (enintään 39 merkkiä)                                                   |
- Lyhytnimi                | 4-merkkinen lyhytnimi                                                                                   |
- Lisensoitu radioamatööri | Ota käyttöön, jos sinulla on radioamatöörilupa (mahdollistaa suuremman lähetystehon) |
-
-### Muutosten käyttöönotto
-
-Asetusten muuttamisen jälkeen napauta **Tallenna** kirjoittaaksesi määritykset radioon. Laite voidaan käynnistää uudelleen muutosten käyttöönottoa varten.
-
-## Asetukset
-
-### Laitteen asetukset
-
- Asetus                                     | Kuvaus                                                                | Oletus      |
- ------------------------------------------ | --------------------------------------------------------------------- | ----------- |
- Rooli                                      | Radion rooli (Client, Router jne.) | Client      |
- Uudelleenlähetyksen tila                   | Miten radio välittää viestejä eteenpäin                               | Kaikki      |
- Radiotiedon lähetys (s) | Radion tietojen lähetysväli                                           | 10800       |
- Kaksoisnapautuspainike                     | Toiminto painikkeen kaksoisnapautukselle                              | Ei käytössä |
-
-### LoRa:n asetukset
-
- Asetus                | Kuvaus                                                                                | Oletus                                           |
- --------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------ |
- Alue                  | Taajuusalueiden sääntelyalue                                                          | Ei asetettu (on määritettävä) |
- Modeemin esiasetus    | Nopeuden ja kantaman välinen kompromissi                                              | LongFast                                         |
- Hyppyraja             | Suurin hyppyjen määrä                                                                 | 3                                                |
- Lähetysteho           | Lähetysteho (dBm): 0 = alueen sallima enimmäisteho | 0 (alueen enimmäisteho)       |
- Taajuuspoikkeama      | Taajuuden hienosäätö (MHz)                                         | 0                                                |
- Kanavan kaistanleveys | Kaistanleveysasetus                                                                   | Esiasetuksen oletusarvo                          |
-
-> ⚠️ **Tärkeää:** Sinun **täytyy** määrittää alueesi ennen lähettämistä. Lähettäminen väärällä alueasetuksella voi rikkoa paikallisia radiomääräyksiä. Katso [alueasetusten määritysopas](https://meshtastic.org/docs/getting-started/initial-config) meshtastic.org-sivustolta saadaksesi lisätietoja.
-
-### Esiasetukset
-
-> 💡 **Vinkki:** **SNR-raja**-arvot ovat tarkoituksella negatiivisia. LoRa pystyy purkamaan signaaleja _kohinatason alapuolelta_, joten negatiivisempi raja tarkoittaa, että esiasetus sietää heikomman ja kohinaisemman signaalin (suurempi kantama). Katso [Miten signaalimittari toimii](signal-meter) saadaksesi täydellisen selityksen.
-
- Esiasetus          | Kantama                 | Nopeus                    | SNR-raja                 | Paras käyttöön                                                                                                                     |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Tiheä kaupunkiympäristö suoralla näköyhteydellä; paljon dataa siirtävät sovellukset                                                |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Kaupunkialueet, rakennuksia muutaman korttelin säteellä                                                                            |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Lyhyen kantaman esikaupunkialueet; kohtalainen rakennustiheys                                                                      |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Esikaupunkialueet; kohtalainen rakennustiheys                                                                                      |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Esikaupunki-/maaseutualueet; kohtalainen kantama ja hitaampi nopeus                                                                |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Samankaltainen kantama kuin Long Fast -asetuksella, mutta 500 kHz:n kaistanleveydellä; suurempi tiedonsiirtonopeus |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **Yleiskäyttö (oletus)** — tasapaino kantaman ja nopeuden välillä                                               |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Maaseutualueet, joissa on jonkin verran maastonmuotoja; satunnainen käyttö                                                         |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD -alue (125 kHz BW); verrattavissa Medium Fast -asetukseen                                        |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD -alue (125 kHz BW); verrattavissa Long Fast -asetukseen                                          |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz -alue (62,5 kHz BW); välttää häiriöitä muiden laitteiden kanssa                                      |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz -alue (62,5 kHz BW); verrattavissa Long Fast -asetukseen                                             |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Vanhentunut** — edelleen valittavissa, mutta voidaan poistaa tulevassa laiteohjelmistoversiossa                               |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Vanhentunut** — edelleen valittavissa, mutta voidaan poistaa tulevassa laiteohjelmistoversiossa                               |
-
-> ℹ️ **Huomautus:** Tässä taulukossa käytetään yleisesti käytössä olevia lyhyitä nimiä. Sovelluksen esiasetusvalikossa ne näkyvät nimillä **Lyhyt kantama - Nopea**, **Pitkä kantama - Nopea**, **Lite - Nopea**, **Kapea - Nopea** ja niin edelleen.
-
-#### Modeemiesiasetuksen valitseminen
-
-Modeemiesiasetus määrittää tärkeimmän kompromissin **kantaman** ja **tiedonsiirtonopeuden** välillä:
-
-- **Hitaammat esiasetukset** käyttävät enemmän hajautusta, jolloin signaali voidaan purkaa heikommilla signaalitasoilla (alempi SNR-raja). Tämä tarkoittaa pidempää kantamaa, mutta vähemmän tavuja sekunnissa.
-- **Nopeammat esiasetukset** siirtävät enemmän dataa, mutta vaativat vahvemman signaalin purkamista varten.
-
-**Käytännön ohje:**
-
-- **Kaupunkiverkko (paljon radioita, lyhyet etäisyydet):** Käytä **Long Fast** -asetusta (oletus) tai **Short Fast** -asetusta. Suurempi nopeus tarkoittaa vähemmän käyttöasteruuhkaa, kun monet radiot jakavat saman kanavan.
-- **Maaseutu tai harva verkko (vähän radioita, pitkät etäisyydet):** Käytä **Long Moderate** -asetusta. Kantama on tärkeämpi kuin nopeus, kun radiot ovat kaukana toisistaan.
-- **EU 866/868 MHz -alueen säädösten noudattaminen:** Käytä **Lite Fast**, **Lite Slow**, **Narrow Fast** tai **Narrow Slow** -asetuksia — ne on optimoitu EU:n SRD/868 MHz -alueille kapeammilla kaistanleveyksillä.
-- **Kiinteät infrastruktuurilinkit:** Käytä **Short Turbo**- tai **Long Turbo** -asetusta erillisille pisteestä pisteeseen -linkeille, joissa on hyvät antennit ja suora näköyhteys.
-- **Sekaverkot:** Pysy **Long Fast** -asetuksessa — se on yhteisön oletusasetus ja varmistaa yhteensopivuuden alueesi muiden käyttäjien kanssa.
-
-> ⚠️ **Tärkeää:** Kaikkien samalla kanavalla olevien radioiden **täytyy** käyttää samaa modeemiesiasetusta. Radiot, joiden modeemiesiasetukset eivät täsmää, eivät voi viestiä keskenään, vaikka ne käyttäisivät samaa taajuutta ja salausavainta.
-
-> 💡 **Vinkki:** Yllä olevat kantama-arviot perustuvat tasaiseen maastoon ja vaatimattomiin antenneihin. Korkeuseroetu (mäki, rakennuksen katto) kasvattaa käytännön kantamaa huomattavasti. Hyvin sijoitettu Long Fast -asetusta käyttävä Router voi usein toimia paremmin kuin maan tasalla oleva Long Slow -asetusta käyttävä radio.
-
-### Näytön asetukset
-
- Asetus                | Kuvaus                                                                                                            |
- --------------------- | ----------------------------------------------------------------------------------------------------------------- |
- Näytön aikakatkaisu   | Aika ennen näytön siirtymistä lepotilaan                                                                          |
- Näyttöyksiköt         | Metrinen tai imperiaalinen järjestelmä                                                                            |
- OLED-tyyppi           | Auto, SSD1306, SH1106, SH1107                                                                                     |
- Kompassin suunta      | Kompassinäytön kiertosäätö (0°, 90°, 180°, 270°)                                               |
- ~~Kompassipohjoinen~~ | ⚠️ **Vanhentunut** — korvattu Kompassin suunta -asetuksella; näkyy edelleen vanhemmissa laiteohjelmistoversioissa |
-
-### Sijainnin asetukset
-
- Asetus                                   | Kuvaus                                     |
- ---------------------------------------- | ------------------------------------------ |
- GPS-käytössä                             | Ota GPS käyttöön tai poista käytöstä       |
- GPS-päivitysväli                         | Kuinka usein GPS-paikannusta päivitetään   |
- Sijainnin lähetys (s) | Kuinka usein sijaintia jaetaan             |
- Älykäs sijainti                          | Ota liikkeeseen perustuva lähetys käyttöön |
- Kiinteä sijainti                         | Käytä manuaalisesti asetettua sijaintia    |
-
-### Virran asetukset
-
- Asetus                                        | Kuvaus                                                        |
- --------------------------------------------- | ------------------------------------------------------------- |
- Virransäästö                                  | Ota vähän virtaa kuluttava lepotila käyttöön                  |
- Sammuta jälkeen (s)        | Automaattisen sammutuksen ajastin                             |
- ADC-kerroin                                   | Akun jännitteen kalibrointikerroin                            |
- Odota Bluetoothia (s)      | Aika Bluetooth-yhteyden odottamiseen käynnistyksen yhteydessä |
- Mesh SDS -aikakatkaisu (s) | Erittäin syvän lepotilan aikakatkaisu                         |
-
-### Verkon asetukset
-
- Asetus          | Kuvaus                                                      |
- --------------- | ----------------------------------------------------------- |
- WiFi käytössä   | Ota WiFi-radio käyttöön (ESP32-laitteet) |
- WiFi SSID       | Verkon nimi, johon yhdistetään                              |
- WiFi PSK        | Verkon salasana                                             |
- NTP-palvelin    | Ajan synkronointipalvelin (NTP-palvelin) |
- Syslog-palvelin | Etätietojen palvelin                                        |
-
-![IP-osoitekenttä](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth asetukset
-
- Asetus             | Kuvaus                                                                            |
- ------------------ | --------------------------------------------------------------------------------- |
- Bluetooth käytössä | Ota Bluetooth-radio käyttöön tai poista käytöstä                                  |
- Pariliitostila     | Kiinteä PIN-koodi, satunnainen PIN-koodi tai ei PIN-koodia                        |
- Kiinteä PIN-koodi  | PIN-koodi pariliitosta varten (oletus: 123456) |
-
-### Turvallisuusasetukset
-
- Asetus                      | Kuvaus                                                                                                                                                                                                                                        |
- --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Julkinen avain              | Radiosi julkinen avain (vain luku)                                                                                                                                                                                         |
- Ylläpitäjän avain           | Avain etähallintaa varten                                                                                                                                                                                                                     |
- Yksityinen avain            | Radiosi yksityinen avain (käsittele turvallisesti)                                                                                                                                                                         |
- ~~Ylläpitokanava käytössä~~ | ⚠️ Poistettu — määritetään nyt automaattisesti, kun ylläpitoavain asetetaan                                                                                                                                                                   |
- Virheenkorjausloki          | Tulosta reaaliaikainen virheenkorjausloki sarjaportin tai bluetoothin kautta                                                                                                                                                                  |
- Sarjaportti käytössä        | Ota sarjakonsoliyhteys käyttöön (siirretty laiteasetuksista)                                                                                                                                                               |
- Hallintatila                | Rajoita muutokset muihin kuin ylläpitokanaviin                                                                                                                                                                                                |
- Varmuuskopioi avaimet       | Tallenna radion avaimista salattu varmuuskopio tälle laitteelle (vain Android)                                                                                                                                             |
- Palauta avaimet             | Kirjoita varmuuskopioidut avaimet takaisin radioon (käytettävissä, kun varmuuskopio on olemassa)                                                                                                                           |
- Poista avaimen varmuuskopio | Poista tälle laitteelle tallennettu avainten varmuuskopio                                                                                                                                                                                     |
- Suojaustaso                 | Pakettien aitous – miten allekirjoittamattomia tai välitettyjä paketteja käsitellään: **Tiukka**, **Tasapainoinen** tai **Yhteensopiva** (edellyttää tuettua laiteohjelmistoa; Tiukka pyytää vahvistuksen) |
-
-![Salasanakenttä](../../assets/screenshots/settings_password_field.png)
-
-Asetukset käyttävät tavallisia asetussäätimiä — pudotusvalikoita, kytkimiä ja liukusäätimiä:
-
- Säädin         | Kuvakaappaus                                                      |
- -------------- | ----------------------------------------------------------------- |
- Pudotusvalikko | ![Pudotusvalikko](../../assets/screenshots/settings_dropdown.png) |
- Kytkin         | ![Kytkin](../../assets/screenshots/settings_switch.png)           |
- Liukusäädin    | ![Liukusäädin](../../assets/screenshots/settings_slider.png)      |
-
-## Aiheeseen liittyvät aiheet
-
-- [Asetukset — Moduulit ja ylläpito](settings-module-admin) — valinnaiset ominaisuusmoduulit ja laitteen ylläpitotoiminnot
-- [Signaalimittari](signal-meter) — miten modeemiesiasetukset vaikuttavat signaalin laadun raja-arvoihin
-- [LoRa-määritykset](https://meshtastic.org/docs/configuration/radio/lora) — yksityiskohtainen LoRa-asetusten viite meshtastic.org-sivustolla
-- [Alkumääritykset](https://meshtastic.org/docs/getting-started/initial-config) — alueasetusten määritysopas meshtastic.org-sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/signal-meter.html b/v2.8.0/docs/fi-rFI/user/signal-meter.html deleted file mode 100644 index 8637485cf2..0000000000 --- a/v2.8.0/docs/fi-rFI/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Kuinka Meshtastic-signaalimittari toimii - - - -
# Kuinka Meshtastic-signaalimittari toimii
-
-Meshtasticin signaalimittari — sovelluksessa näkyvät tutut palkit tai tilan väri — lasketaan hyvin eri tavalla kuin perinteisen matkapuhelimen tai WiFi-reitittimen "palkit".
-
-Useimmat kuluttajalaitteet mittaavat yksinkertaisesti signaalin “voimakkuutta”. Koska Meshtastic käyttää **LoRa (Long Range)** -teknologiaa, signaalimittari arvioi sen sijaan kuinka “selkeä” signaali on suhteessa käytössä olevan mesh-verkon asetuksiin.
-
-## 2. LoRa:n “taika”: kuuleminen kohinan alta
-
-Tavallisessa radiossa (kuten FM- tai WiFi-yhteydessä), jos taustakohina on voimakkaampi kuin signaali (negatiivinen SNR), vastaanotin kuulee vain kohinaa.
-
-LoRa on erilainen. Se käyttää **hajaspektritekniikkaa (Spread Spectrum)**, joka mahdollistaa signaalin erottamisen myös silloin, kun se on taustakohinan alla. Siksi Meshtasticissa näkyy usein **negatiivisia SNR-arvoja** (esim. -10 dB tarkoittaa, että signaali on 10 dB heikompi kuin kohina).
-
-Riippuen siitä, mitä Meshtastic-esiasetusta käytät (esim. “LongFast” vs. “ShortFast”), radiolla on tietty **SNR-raja** — eli suurin määrä kohinaa, jonka se kestää ennen kuin viesti alkaa kadota täysin kohinaan.
-
--------- | ------ | -------------------------------------- | ------------------------------------------------------------------------------------------ |
- Hyvä        | 3      | SNR **esiasetuksen rajan yläpuolella** | Signaali on selvästi demodulaation alarajan yläpuolella — hyvä yhteys.     |
- Kohtalainen | 2      | alle 5,5 dB rajan alapuolella          | Signaali voidaan vielä purkaa, mutta se on lähellä demodulaation alarajaa. |
- Huono       | 1      | 5,5–7,5 dB rajan alapuolella           | Signaali on aivan esiasetuksen palautumiskyvyn rajalla.                    |
- ei mitään   | 0      | yli 7,5 dB "rajan" alapuolella         | Signaali on demodulaation alarajan alapuolella — lähetys hukkuu kohinaan.  |
-
-> **Huomautus:** Kiinteitä SNR-rajoja, joita olet ehkä nähnyt muualla (−7 dB / −15 dB), käytetään nykyisin vain traceroute-tulosten yksittäisten hyppyjen väritykseen — ei radion yleisen signaalin laadun arviointiin.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/tak.html b/v2.8.0/docs/fi-rFI/user/tak.html deleted file mode 100644 index 28a8302e16..0000000000 --- a/v2.8.0/docs/fi-rFI/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK-integraatio - - - -
# TAK-integraatio
-
-Meshtastic integroituu Team Awareness Kit (TAK) -ekosysteemiin, mahdollistaen yhteentoimivuuden Meshtastic-verkkoradioiden ja TAK-sovellusten kuten ATAK:n ja WinTAK:n välillä.
-
-## Yleiskatsaus
-
-TAK-moduuli mahdollistaa Meshtastic-radioille:
-
-- Sijaintidatan jakamisen TAK-yhteensopivassa CoT (Cursor on Target) -muodossa
-- Näkyä tiimin jäseninä TAK-karttanäkymissä
-- Vastaanottaa TAK PLI (Position Location Information) -viestejä
-
-## Asetukset
-
-### Edellytykset
-
-- ATAK (Android Team Awareness Kit) tai WinTAK asennettuna
-- Meshtastic ATAK -lisäosa asennettuna
-- TAK-moduuli käytössä Meshtastic-radiossasi
-
-### Asetukset
-
-1. Siirry kohtaan **Asetukset → Moduulin asetukset → TAK**.
-2. Ota TAK-moduuli käyttöön.
-3. Määritä TAK-tiimin/ryhmän asetukset:
-
-![Moduulin kytkin](../../assets/screenshots/settings_switch.png)
-
- Asetus   | Kuvaus                           |
- -------- | -------------------------------- |
- Käytössä | Ota TAK-yhteentoimivuus käyttöön |
- Tila     | TAK-yhteensopiva lähtötila       |
-
-### ATAK-lisäosan asennus
-
-1. Asenna Meshtastic ATAK -lisäosa lisäosien lähteestä.
-2. Avaa ATAK ja ota Meshtastic-lisäosa käyttöön.
-3. Lisäosa välittää viestejä ATAK:n ja mesh-verkkosi välillä.
-
-### Paikallinen TAK-palvelin
-
-Sovellus voi käyttää myös **paikallista TAK-palvelinta**, jolloin samalla laitteella oleva ATAK/iTAK voi muodostaa siihen suoran yhteyden ilman etäpalvelinta. Palvelin kuuntelee vain paikallisia yhteyksiä (127.0.0.1:8089) ja käyttää TLS:ää molemminpuolisella varmenteiden todentamisella. Avaa **Asetukset → Moduuliasetukset → TAK → TAK-palvelin**:
-
-![Paikallisen TAK-palvelimen asetukset, joissa näkyvät käyttöönotto ja vientitoiminto](../../assets/screenshots/tak_server_enabled.png)
-
-- **Ota paikallinen TAK-palvelin käyttöön** – käynnistää vain paikallisia yhteyksiä kuuntelevan mTLS-palvelimen portissa **8089** samalla laitteella toimivaa ATAK-/iTAK-yhteyttä varten.
-- **Vie TAK-tietopaketti** — luo `.zip`-tietopaketin, jonka ATAK/iTAK voi tuoda muodostaakseen yhteyden tähän palvelimeen.
-
-## TAK-roolit
-
-TAK-rooleilla määritetyt radiot käyttäytyvät eri tavalla kuin tavalliset client-laitteet:
-
- Rooli           | Kuvaus                                                                                                                                                                                                                                                                                                             |
- --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **TAK**         | Täysi TAK-yhteentoimivuus — lähettää ja vastaanottaa CoT-dataa, chat-viestejä ja PLI-päivityksiä. Toimii tavallisen clientin lisäksi TAK-siltana.                                                                                                                                  |
- **TAK Tracker** | Vain sijaintitietoihin perustuva TAK-lähtö — lähettää automaattisesti PLI-dataa säännöllisin väliajoin ilman käyttäjän toimintaa. Optimoitu valvomattomiin sijaintilähettimiin (ajoneuvot, laitteet ja reittipisteet). Ei välitä chat-viestejä. |
-
-> 💡 **Vinkki:** Käytä **TAK Tracker** -tilaa laitteille, joiden tarvitsee vain lähettää sijainti (esim. ajoneuvoon asennettu radio). Käytä **TAK**-tilaa laitteille, joissa käyttäjät osallistuvat aktiivisesti TAK-toimintaan.
-
-### CoT (Cursor on Target) -muoto
-
-TAK-viestit käyttävät Cursor on Target XML -muotoa — sotilaskäytössä olevaa standardia tilannetiedon jakamiseen. Meshtastic muuntaa sisäiset protobuf-viestinsä CoT-muotoon silloin, kun se välittää dataa TAK-järjestelmiin, joten manuaalista muunnosta ei tarvita.
-
-## TAK-identiteetti
-
-Kun käytät TAK-rooleja, radiosi lähettää identiteettitietoja, jotka näkyvät TAK-kartoilla:
-
- Asetus        | Kuvaus                                                                                                                              |
- ------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
- Tiimin väri   | TAK-kartan tiimiväri (esim. sininen, punainen, syaani, vihreä)                                   |
- Jäsenen rooli | Operatiivinen roolisi (tiimin jäsen, tiimin johtaja, esikunta, ensihoitaja, viestivastaava jne.) |
-
-Nämä asetukset näkyvät kohdassa **Asetukset → Moduulin asetukset → TAK**, kun TAK-moduuli on käytössä. TAK-kutsutunnuksesi ei ole erillinen asetus — se muodostetaan automaattisesti Meshtastic-radiosi nimestä.
-
-> 💡 **Vinkki:** Tiimi- ja roolivärit ovat TAK-järjestelmän standardeja ryhmävärikoodauksia. Koordinoi TAK-tiimisi kanssa yhtenäisten tiimimääritysten käyttämiseksi.
-
-## Wire Format (V1 / V2)
-
-Meshtastic tukee kahta TAK-siirtomuotoa, jotka valitaan automaattisesti yhdistetyn radion laiteohjelmiston perusteella — manuaalisia asetuksia ei tarvita:
-
- Muoto                                | Yhteensopivuus                                                     | Ominaisuudet                                                                                                                                                                                                                                                              |
- ------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- V1 (vanha versio) | Laiteohjelmisto 2.7.x ja vanhemmat | Raaka protobuf-koodaus portissa 72. Tukee vain sijainnin jakamista (PLI) ja keskusteluja (GeoChat) — muodot, merkinnät, reitit ja muut tyypitetyt CoT-tapahtumat jätetään välittämättä                              |
- V2 (nykyinen)     | Laiteohjelmisto 2.8.0+             | Pakkausmuoto käyttää zstd-pakkausta portissa 78. Tukee V1:n ominaisuuksien lisäksi myös muotoja, merkintöjä, reittejä, ilma-aluksia, lääkintäevakuointeja (CASEVAC), hätätilanteita ja tehtävätyyppisiä CoT-tapahtumia |
-
-Radio välittää edelleen vanhojen radioiden V1-paketteja myös käyttäessään itse V2:ta, joten eri laiteohjelmistoversioita käyttävät mesh-verkot toimivat keskenään.
-
-## Käyttö ATAK:n kanssa
-
-Kun asetukset on määritetty:
-
-- Meshtastic-radiot näkyvät ATAK-kartalla merkkeinä kutsutunnuksineen
-- Viestit voivat välittyä mesh-verkon ja TAK-verkon välillä
-- Sijaintipäivitykset kulkevat kaksisuuntaisesti Meshtasticin ja TAK-järjestelmän välillä
-- TAK Tracker -radiot lähettävät PLI-sijaintia automaattisesti — niiden sijainti näkyy ATAK-kartoilla ilman erillistä ATAK-asetusta
-
-> ⚠️ **Huom:** TAK-integraatio vaatii tietyt laiteroolit ja moduuliasetukset. Tavalliset client-laitteet eivät osallistu TAK-toimintoihin automaattisesti.
-
-## Vianetsintä
-
- Ongelma                                      | Syy                                                                                                                                   | Ratkaisu                                                                                                                                      |
- -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
- Radio ei näy ATAK-kartalla                   | TAK-moduuli pois käytöstä tai väärä rooli                                                                                             | Varmista, että TAK-moduuli on käytössä ja rooli on joko TAK tai TAK Tracker                                                                   |
- Sijaintipäivitykset ovat vanhentuneita       | GPS-signaali katkennut tai lähetysväli liian pitkä                                                                                    | Tarkista GPS-tila; lyhennä sijaintilähetyksen väliä kohdassa Sijainnin asetukset                                                              |
- ATAK-lisäosa näyttää “yhteys katkennut”      | Bluetooth-yhteys katkennut tai lisäosa on kaatunut                                                                                    | Yhdistä Bluetooth uudelleen Meshtastic-sovelluksessa ja käynnistä ATAK-lisäosa uudelleen                                                      |
- Muotoja, merkintöjä tai reittejä ei välitetä | Lähettävä radio käyttää vanhaa V1-protokollaa (laiteohjelmisto 2.7.x tai vanhempi) | Päivitä lähettävän radion laiteohjelmisto versioon 2.8.0 tai uudempaan, jotta V2-siirtomuoto on käytettävissä |
- CoT-data ei kulje                            | Kanava ei täsmää                                                                                                                      | Kaikkien TAK-laitteiden täytyy olla samalla kanavalla ja yhteensopivalla salauksella                                                          |
-
-## Tietoturvahuomiot
-
-- TAK-data sisältää sijainti- ja kutsutunnustietoja
-- Varmista, että kanavan salaus on oikein määritetty, kun käytät TAK:ia arkaluonteisissa ympäristöissä
-- TAK-moduuli noudattaa samaa kanavasalausta kuin muut Meshtastic-viestit
-
-## Aiheeseen liittyvät aiheet
-
-- [Asetukset — Moduulit ja ylläpito](settings-module-admin) — TAK-moduulin asetukset
-- [Radiot](nodes) — TAK- ja TAK Tracker -roolit radiolistassa
-- [Kartta ja reittipisteet](map-and-waypoints) — radioiden sijainnit kartalla
-- [ATAK-liitännäisen opas](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) – yksityiskohtaiset ATAK-asennusohjeet meshtastic.org -sivustolla
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/telemetry-and-sensors.html b/v2.8.0/docs/fi-rFI/user/telemetry-and-sensors.html deleted file mode 100644 index 1a3a5b82fc..0000000000 --- a/v2.8.0/docs/fi-rFI/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetria ja anturit - - - -
# Telemetria ja anturit
-
-Meshtastic-radiot voivat kerätä ja jakaa anturitietoja koko verkon laajuisesti.
-
-## Yleiskatsaus
-
-Telemetria mahdollistaa antureilla varustettujen radioiden ympäristö-, virta- ja laitteen kuntotietojen lähettämisen verkkoon. Nämä tiedot näkyvät radion tietonäytössä ja niitä voidaan tallentaa sekä seurata ajan kuluessa.
-
-## Laitteen telemetriatiedot
-
-Kaikki Meshtastic-radiot raportoivat peruslaitetelemetrian:
-
- Metrijärjestelmä                               | Kuvaus                                             | Tyypillinen vaihteluväli                                           |
- ---------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------ |
- Akun varaustaso                                | Varausprosentti                                    | 0–100%                                                             |
- Jännite                                        | Akun jännite                                       | 3.0–4.2V (LiPo) |
- Kanavan Käyttö                                 | Paikallisesti käytetyn käyttöasteen prosenttiosuus | 0–100%                                                             |
- Lähetysajan käyttöaste (TX) | Tämän radion käyttämän lähetysajan prosenttiosuus  | 0–100%                                                             |
- Käyttöaika                                     | Sekuntia viimeisestä käynnistyksestä               | Vaihtelee                                                          |
-
-## Ympäristöanturit
-
-Tuetut ympäristöanturit:
-
-### Lämpötila ja kosteus
-
- Sensor  | Lämpötila | Kosteus | Ilmanpaine | Viestit                             |
- ------- | --------- | ------- | ---------- | ----------------------------------- |
- BME280  | ✓         | ✓       | ✓          | Suositeltu all-in-one-anturi        |
- BME680  | ✓         | ✓       | ✓          | Lisää kaasuvastus ja IAQ-mittaukset |
- SHT31   | ✓         | ✓       | —          | Korkea tarkkuus                     |
- MCP9808 | ✓         | —       | —          | Tarkka lämpötilamittaus             |
- LPS22   | —         | —       | ✓          | Vain ilmanpaine                     |
-
-### Ilmanlaatu
-
- Sensor   | Metrijärjestelmä                                   | Viestit                        |
- -------- | -------------------------------------------------- | ------------------------------ |
- BME680   | Kaasuvastus ja IAQ                                 | Haihtuvat orgaaniset yhdisteet |
- PMSA003I | PM1.0, PM2.5, PM10 | Hiukkaset                      |
- SEN55    | PM, NOx, VOC, lämpötila, kosteus                   | Monianturi                     |
-
-### Valo ja UV
-
- Sensor   | Metrijärjestelmä                              |
- -------- | --------------------------------------------- |
- OPT3001  | Ympäristön valoisuus (lux) |
- VEML7700 | Ympäristön valoisuus (lux) |
- LTR390   | UV-indeksi                                    |
-
-## Virranhallinnan arvot
-
-INA-sarjan virta-antureilla varustetut radiot voivat raportoida:
-
- Metrijärjestelmä | Kuvaus                                   |
- ---------------- | ---------------------------------------- |
- Väyläjännite     | Syöttöjännitteen                         |
- Virta            | Virrankulutuksen (mA) |
- Virta            | Lasketun tehon (mW)   |
-
-Hyödyllinen aurinkolatauksen tai etäradioiden akun kunnon seurantaan.
-
-## Telemetrian määrittäminen
-
-1. Siirry kohtaan **Asetukset → Moduuliasetukset → Telemetria**
-2. Määritä raportointivälit:
-   - **Laitemittarien väli** — kuinka usein laitteen mittarit lähetetään verkkoon
-   - **Ympäristömittarien väli** — kuinka usein anturitiedot lähetetään verkkoon
-3. Ota tarvittavat anturityypit käyttöön.
-
-### Suositellut raportointivälit
-
- Käyttötarkoitus                                     | Laite (s) | Ympäristö (s) |
- --------------------------------------------------- | ---------------------------- | -------------------------------- |
- Kaupunkiverkko (paljon radioita) | 3600                         | 3600                             |
- Maaseutuverkko (vähän radioita)  | 900                          | 900                              |
- Sääasema                                            | 900                          | 300                              |
- Akun säästäminen                                    | 7200                         | 7200                             |
-
-> ⚠️ **Huomautus:** Lyhyemmät välit lisäävät käyttöastetta ja akun kulutusta koko verkossa.
-
-## Ilmanlaatumittarit
-
-Hiukkas- tai CO₂-antureilla varustetut radiot raportoivat ilmanlaatutietoja:
-
- Metrijärjestelmä      | Yksikkö | Kuvaus                    |
- --------------------- | ------- | ------------------------- |
- PM1.0 | µg/m³   | Erittäin pienet hiukkaset |
- PM2.5 | µg/m³   | Pienhiukkaset             |
- PM10                  | µg/m³   | Karkeat hiukkaset         |
- CO₂                   | ppm     | Hiilidioksidipitoisuus    |
-
-Myös CO₂ anturit, kuten SCD4x, ilmoittavat oman lämpötilansa ja ilmankosteutensa, jotka näytetään edellä olevien mittausten yhteydessä. PM2.5-historiasta sovellus laskee lisäksi **EPA NowCast AQI** -arvon.
-
-CO₂-arvo on värikoodattu vakavuuden mukaan (Hyvä → Tunkkainen → Huono → Epäturvallinen → Evakuoi). Katso [Radion mittarit — Ilmanlaatu](node-metrics#air-quality-metrics), josta löytyvät tarkat ppm-arvot, värit ja AQI-luokituksen tiedot.
-
-Ilmanlaatutiedot voidaan näyttää tietokortteina radion tietonäytössä, esittää kaavioina ajan kuluessa ja viedä CSV-tiedostoon.
-
-## Telemetrian tarkastelu
-
-1. Siirry kohtaan **Radiot** ja valitse radio.
-2. Telemetriaosiot näkyvät radion tietonäytössä:
-   - Laitemittarit (aina käytettävissä)
-   - Ympäristömittarit (jos antureita on saatavilla)
-   - Virtamittarit (jos INA-anturi on käytettävissä)
-   - Ilmanlaatumittarit (jos PM-/CO₂-anturi on käytettävissä)
-3. Historiakaaviot näyttävät mittaustietojen kehittymisen ajan kuluessa.
-
-![Telemetriatoiminnot](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Vianetsintä
-
-- **Ympäristötiedot eivät näy?** Etäradio tarvitsee fyysisen anturin (esim. BME280 I²C-väylässä). Laitetelemetria (akun varaustaso, käyttöaika) on aina käytettävissä, mutta ympäristömittarit edellyttävät laitteistoa.
-- **Vanhentuneita lukemia?** Tarkista raportointiväli — erittäin pitkät välit (7200 s tai enemmän) tarkoittavat, että tiedot päivittyvät harvoin. Varmista myös, että etäradio on edelleen verkossa.
-- **Anturiristiriita I²C-väylässä?** Jotkin anturit käyttävät samoja I²C-osoitteita. Jos samalla väylällä on useita antureita, tarkista osoiteristiriidat radion sarjaportin virheenkorjaustulosteesta.
-
-## Aiheeseen liittyvät aiheet
-
-- [Radion mittarit](node-metrics) — tarkastele telemetriatietoja radion tietonäytössä
-- [Asetukset — Moduulit ja ylläpito](settings-module-admin) — telemetriamoduulin määritys
-- [Yksiköt ja aluekohtaiset asetukset](units-and-locale) — lämpötilan ja ilmanpaineen näyttöyksiköt
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/translate.html b/v2.8.0/docs/fi-rFI/user/translate.html deleted file mode 100644 index dc34cfb39d..0000000000 --- a/v2.8.0/docs/fi-rFI/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Käännä sovellus - - - -
# Käännä sovellus
-
-Käännöksiin osallistuminen auttaa tekemään Meshtasticista saavutettavamman laajemmalle yleisölle. Sovellus käyttää [Crowdinia](https://crowdin.com/) yhteisökäännösten hallintaan sekä käyttöliittymän sovelluksen sisäisten dokumentaatioiden hallintaan.
-
----------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
- UI-tekstit          | `core/resources/src/commonMain/composeResources/values/strings.xml` | Painikkeet, otsikot, viestit ja kaikki käyttäjälle näkyvä teksti    |
- Käyttöoppaan sivut  | `docs/en/user/*.md`                                                 | Sovelluksen sisäinen dokumentaatio Ohjeet ja dokumentaatio -osiossa |
- Fastlane-metatiedot | fastlane/metadata/android/en-US/                                    | Sovelluskaupan listauksen otsikko, kuvaus ja muutoslokit            |
-
-> ⚠️ **Huomautus:** Kehittäjän oppaan sivut ovat saatavilla vain englanniksi. Koodiin keskittyvää dokumentaatiota, joka on suunnattu kehitystyöhön osallistuville, ei käännetä.
-
-## Uuden kielen lisääminen
-
-Jos kieltäsi ei ole vielä listattu Crowdinissa:
-
-1. Avaa GitHub-issue (https://github.com/meshtastic/Meshtastic-Android/issues/new) ja pyydä uutta kielialuetta.
-2. Ylläpitäjä lisää kielen Crowdin-projektiin ja määrittää `crowdin.yml`-asetukset.
-3. Kun kieli on lisätty, voit aloittaa kääntämisen heti.
-
-## Käännösohjeet
-
-- **Älä käännä** teknisiä termejä kuten "LoRa", "MQTT", "BLE", "TAK", "SNR" tai "RSSI" — nämä ovat yleisiä.
-- **Pidä paikkamerkit ennallaan.** Merkkijonot kuten `%1$s` tai `%d` täytetään ajon aikana. Älä poista tai muuta niiden järjestystä, ellei kielesi kielioppi sitä vaadi.
-- **Säilytä sävy.** Sovellus käyttää ystävällistä ja suoraa tyyliä. Vältä liian muodollista kieltä.
-- **Testaa jos mahdollista.** Vaihda laitteesi kieli ja avaa sovellus nähdäksesi käännökset kontekstissa.
-
----
-
-## Kysyttävää?
-
-Jos sinulla on kysyttävää tietyn merkkijonon asiayhteydestä tai tarvitset apua alkuun pääsemisessä, avaa keskustelu [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) -sivulla.
-
-Kiitos, että autat laajentamaan Meshtasticin tavoittavuutta!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/units-and-locale.html b/v2.8.0/docs/fi-rFI/user/units-and-locale.html deleted file mode 100644 index 62727d45ce..0000000000 --- a/v2.8.0/docs/fi-rFI/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Yksiköt, mittaus ja kieli- ja alueasetukset - - - -
# Yksiköt, mittaus ja kieli- ja alueasetukset
-
-Meshtastic-sovellus näyttää automaattisesti lämpötilat, etäisyydet, nopeudet ja ajat niissä yksiköissä, jotka laitteesi on asetettu käyttämään — asetuksia ei tarvitse muuttaa sovelluksessa.
-
-## Lämpötila
-
-Lämpötila-arvot ympäristösensoreista lähetetään muodossa **°C** ja näytetään laitteen lämpötila-asetusten mukaisesti.
-
-![Ympäristömittarit lämpötilan kanssa](../../assets/screenshots/nodes_environment_metrics.png)
-
- Asetuksesi | Näet  |
- ---------- | ----- |
- Celsius    | 22 °C |
- Fahrenheit | 72 °F |
-
-Tämä vaikuttaa kaikkiin lämpötilanäyttöihin sovelluksessa: radion ympäristötelemetria, maaperän lämpötila, kastepiste ja telemetriakäyrien akselit.
-
-## Etäisyys ja korkeus
-
-Radioiden väliset etäisyydet ja GPS-korkeudet lähetetään **metreinä** ja muunnetaan sekä skaalataan automaattisesti.
-
-![Etäisyystietonäkymä](../../assets/screenshots/nodes_distance_info.png)
-
- Asetuksesi                            | Pieni etäisyys | Suuri etäisyys         | Korkeus  |
- ------------------------------------- | -------------- | ---------------------- | -------- |
- Metrijärjestelmä                      | 350 m          | 2,5 km                 | 1 200 m  |
- Imperiaalinen (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-Sovellus käyttää luonnollista skaalausta — lyhyet etäisyydet pysyvät metreissä tai jaloissa, kun taas pidemmät etäisyydet vaihtuvat automaattisesti kilometreihin tai maileihin.
-
-### Missä nämä näkyvät
-
-- **Radiolista** — etäisyys ja suunta jokaiseen radioon
-- **Radion tiedot** — korkeus ja etäisyys sijainnistasi
-- **Kartta** — reittipisteiden etäisyydet ja reitinselvityksen hyppy-etäisyydet
-- **Kompassi** — etäisyys valittuun radioon
-
-## Nopeus
-
-GPS-maanopeus näytetään laitteesi kieli- ja alueasetusten mukaisessa nopeusyksikössä.
-
- Asetuksesi                            | Näet    |
- ------------------------------------- | ------- |
- Metrijärjestelmä                      | 12 km/h |
- Imperiaalinen (US) | 7 mph   |
-
-## Tuuli
-
-Tuulen nopeus- ja puuskadata ympäristösensoreista lähetetään muodossa **m/s** ja muunnetaan näyttöä varten.
-
- Asetuksesi                            | Näet   |
- ------------------------------------- | ------ |
- Metrijärjestelmä                      | 5 m/s  |
- Imperiaalinen (US) | 11 mph |
-
-Tuulimittaukset näkyvät **Radion tiedot** -näkymän ympäristöosiossa sekä **Ympäristötelemetria** -kaavioissa.
-
-## Sademäärä
-
-Sademittaukset (1 tunnin ja 24 tunnin yhteismäärät) lähetetään muodossa **mm** ja muunnetaan näyttöä varten.
-
- Asetuksesi                            | Näet                   |
- ------------------------------------- | ---------------------- |
- Metrijärjestelmä                      | 12 mm                  |
- Imperiaalinen (US) | 0.5 in |
-
-## Yksiköt, jotka eivät muutu
-
-Jotkin yksiköt ovat kansainvälisiä standardeja ja näkyvät samalla tavalla kieli- ja alueasetuksista riippumatta:
-
- Mittaus                           | Yksikkö                        | Miksi                                     |
- --------------------------------- | ------------------------------ | ----------------------------------------- |
- Ilmanpaine                        | hPa                            | Kansainvälinen meteorologinen standardi   |
- Suunta / suuntima                 | ° (astetta) | Universaali navigointikäytäntö            |
- Säteily                           | μR/hr                          | Standardi dosimetria-yksikkö              |
- GPS-koordinaatit                  | desimaaliasteet                | Kansainvälinen maantieteellinen standardi |
- Kosteus, akku ja maaperän kosteus | %                              | Yleinen                                   |
-
-## Päivämäärä ja aika
-
-Kaikki aikaleimat koko sovelluksessa — viimeksi kuultu, viestien ajat, telemetrialokit, kaavioakselit — noudattavat laitteesi päivämäärä- ja aika-asetuksia.
-
- Asetus              | Mitä se ohjaa         | Esimerkki                                        |
- ------------------- | --------------------- | ------------------------------------------------ |
- **24 tunnin aika**  | Aikamuoto             | 14:30 vs 2:30 PM |
- **Päivämäärämuoto** | Päivämäärän järjestys | 09/05/2026 vs 05/09/2026                         |
-
-Sovellus käyttää myös **suhteellista aikaa** silloin kun se on järkevää — esimerkiksi “5 min sitten” tai “2 tuntia sitten” radiolistassa — ja tämä mukautuu automaattisesti laitteesi kieleen.
-
-## Mittausjärjestelmän vaihtaminen (Android)
-
-Androidissa mittausjärjestelmäsi (metrinen vs imperial) on sidottu alueasetuksiin:
-
-1. Avaa **Asetukset → Järjestelmä → Kieli ja alue**
-2. Vaihda **Alue**- tai **Mittausyksiköt**-asetusta
-3. Palaa Meshtasticiin — arvot päivittyvät välittömästi
-
-> 💡 **Vinkki:** Kaikki mittausten muotoilut tehdään keskitetysti ja ne noudattavat käyttöympäristösi alueasetuksia, joten yksiköt pysyvät yhtenäisinä kaikkialla sovelluksessa.
-
-## Aiheeseen liittyvät aiheet
-
-- [Radion mittarit](node-metrics) — missä lämpötila-, etäisyys- ja anturiarvot näytetään
-- [Telemetria ja anturit](telemetry-and-sensors) — anturit, jotka tuottavat nämä mittaukset
-- [Mittaus ja muotoilu](../developer/measurement) — kehittäjien viite muotoiluapuohjelmista
-- [Asetukset — Radio ja käyttäjä](settings-radio-user) — alueasetus, joka määrittää käytettävät mittayksiköt
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fi-rFI/user/widget.html b/v2.8.0/docs/fi-rFI/user/widget.html deleted file mode 100644 index c2d805a4d9..0000000000 --- a/v2.8.0/docs/fi-rFI/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Aloitusnäytön widget - - - -
# Aloitusnäytön widget
-
-Androidissa Meshtastic tarjoaa aloitusnäytölle **widgetin**, joka näyttää yhdistetyn radiosi paikalliset tilastot yhdellä silmäyksellä — sovellusta ei tarvitse avata.
-
-## Mitä se näyttää
-
-Widget näyttää **yhdistetyn radion** tämänhetkiset paikalliset tilastot:
-
-- **Akun varaustaso** — radion akun varaustaso tai **Verkkovirta**, jos radio käyttää ulkoista virtalähdettä
-- **ChUtil** — kanavan käyttöaste (kuinka kuormitettu LoRa-kanava on prosentteina)
-- **AirUtil** — lähetysajan käyttöaste (kuinka suuren osan lähetysajasta radiosi käyttää)
-- **Liikenne** — lähetetyt ja vastaanotetut paketit sekä havaitut kaksoiskappaleet
-- **Välitykset** — välitetyt paketit ja välityksen peruutukset (näytetään, kun radio toimii välittäjänä)
-
-Avaa sovellus napauttamalla widgetiä tai pyydä uudet tilastot sen päivityspainikkeella.
-
-> 💡 **Vinkki:** Arvot vastaavat sitä radiota, johon olet parhaillaan yhdistetty. Jos sovellus ei ole yhdistetty radioon, widget näyttää viimeksi tunnetut tilastot, kunnes yhteys muodostuu uudelleen.
-
-## Widgetin lisääminen
-
-1. Paina pitkään tyhjää kohtaa Androidin aloitusnäytössä.
-2. Napauta **Widgetit**.
-3. Etsi luettelosta **Meshtastic** ja vedä **Paikalliset tilastot** -widget aloitusnäyttöön.
-4. Muuta widgetin kokoa tarvittaessa — asettelu mukautuu käytettävissä olevaan tilaan.
-
-> ⚠️ **Huomautus:** Widget on käytettävissä vain Androidissa. Se ei ole käytettävissä Desktop- tai iOS-versioissa.
-
-## Aiheeseen liittyvät aiheet
-
-- [Radion mittarit](node-metrics) — täydellinen signaalin laatu- ja paikalliset tilastot -historia sovelluksessa
-- [Yhteydet](connections) — yhdistä radioon, jotta widgetillä on näytettäviä tilastoja
-- [Haku](discovery) — kanavan ja lähetysajan käyttöaste koko verkossa
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/android-auto.html b/v2.8.0/docs/fr-rFR/user/android-auto.html deleted file mode 100644 index 5fa8c799d6..0000000000 --- a/v2.8.0/docs/fr-rFR/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nœuds
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/app-functions.html b/v2.8.0/docs/fr-rFR/user/app-functions.html deleted file mode 100644 index b4dbde424c..0000000000 --- a/v2.8.0/docs/fr-rFR/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/connections.html b/v2.8.0/docs/fr-rFR/user/connections.html deleted file mode 100644 index 9e612046dd..0000000000 --- a/v2.8.0/docs/fr-rFR/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connexions - - - -
# Connexions
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State              | Description                   |
- ---- | ------------------ | ----------------------------- |
- 🟢   | Connecté           | Active radio link established |
- 🟡   | Connexion en cours | Handshake in progress         |
- 🔴   | Déconnecté         | No active connection          |
- ⚪    | Not configured     | Aucun appareil sélectionné    |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/debug-logs.html b/v2.8.0/docs/fr-rFR/user/debug-logs.html deleted file mode 100644 index d096f4b158..0000000000 --- a/v2.8.0/docs/fr-rFR/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/desktop.html b/v2.8.0/docs/fr-rFR/user/desktop.html deleted file mode 100644 index dc20d7b5e0..0000000000 --- a/v2.8.0/docs/fr-rFR/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Carte                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Réglages                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Mise à jour du firmware                      | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/discovery.html b/v2.8.0/docs/fr-rFR/user/discovery.html deleted file mode 100644 index 57a0a2f65b..0000000000 --- a/v2.8.0/docs/fr-rFR/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Découverte - - - -
# Découverte
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Utilisation du canal                     | How busy the airwaves were during the dwell.                                   |
- Temps d'émission                         | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/firmware.html b/v2.8.0/docs/fr-rFR/user/firmware.html deleted file mode 100644 index 8d0f1b8bb6..0000000000 --- a/v2.8.0/docs/fr-rFR/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canal         | Description                                                                |
- ------------- | -------------------------------------------------------------------------- |
- Stable        | Recommended for most users; tested releases                                |
- Alpha         | Preview releases; may contain bugs                                         |
- Fichier local | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/help-and-docs.html b/v2.8.0/docs/fr-rFR/user/help-and-docs.html deleted file mode 100644 index 4cc43deb93..0000000000 --- a/v2.8.0/docs/fr-rFR/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/map-and-waypoints.html b/v2.8.0/docs/fr-rFR/user/map-and-waypoints.html deleted file mode 100644 index be76728946..0000000000 --- a/v2.8.0/docs/fr-rFR/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Description                                             |
- ----------- | ------------------------------------------------------- |
- Nom         | Short identifier (max 29 characters) |
- Description | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Verrouillé  | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Couches cartographiques
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/messages-and-channels.html b/v2.8.0/docs/fr-rFR/user/messages-and-channels.html deleted file mode 100644 index 258ae570e8..0000000000 --- a/v2.8.0/docs/fr-rFR/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Canaux
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Sécurité du canal
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Description                                                                                                                            |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Messages directs
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Délivré au nœud                     | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routage via chaîne SF++…            | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmé via chaîne SF++            | Confirmed delivered via the SF++ chain                                                                                               |
- Erreur                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Erreur                         | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------------------ | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Pas de route                   | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK                        | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Délai d'expiration             | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Pas d'interface                | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit                 | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Pas de canal ou d'autorisation | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large                      | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Pas de réponse                 | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit               | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Mauvaise requête               | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/mqtt.html b/v2.8.0/docs/fr-rFR/user/mqtt.html deleted file mode 100644 index 8115a111d7..0000000000 --- a/v2.8.0/docs/fr-rFR/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting           | Description                                                                                   | Par défaut                                          |
- ----------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address    | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Nom d'utilisateur | Broker authentication                                                                         | meshdev                                             |
- Mot de passe      | Broker authentication                                                                         | large4cats                                          |
- Root Topic        | Base topic for messages                                                                       | msh                                                 |
- Chiffrement       | Encrypt MQTT payload                                                                          | Activé                                              |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Désactivé                                           |
- TLS               | Secure connection to broker                                                                   | Désactivé                                           |
- Map Reporting     | Report position to public map                                                                 | Désactivé                                           |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Description                      |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Description                         | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/node-metrics.html b/v2.8.0/docs/fr-rFR/user/node-metrics.html deleted file mode 100644 index cd1a82e760..0000000000 --- a/v2.8.0/docs/fr-rFR/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Métriques de l’appareil
-
-Basic operating information reported by each node:
-
- Metric                  | Description                         |
- ----------------------- | ----------------------------------- |
- Niveau de batterie      | Current battery percentage          |
- Tension                 | Battery voltage reading             |
- Utilisation du canal    | Percentage of airtime consumed      |
- Temps d'émission        | Transmission time used by this node |
- Durée de fonctionnement | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Métriques d'environnement
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Température                          | BME280, BME680, SHT31 |
- Humidité                             | BME280, BME680, SHT31 |
- Pression Barométrique                | BME280, BMP280        |
- Résistance au gaz                    | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Description                                                                                                                                                                                                                |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Bon      | < 1000    | Vert     |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Rouge    |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Métriques de Signal
-
-Radio signal quality information:
-
- Metric      | Description                                                                    |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality  | Criteria                                                         |
- -------- | ---------------------------------------------------------------- |
- Bon      | SNR above the preset's limit                                     |
- Passable | less than 5.5 dB below the limit                 |
- Mauvais  | 5.5 dB to 7.5 dB below the limit |
- Aucun    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Métriques d'alimentation
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric       | Description             |
- ------------ | ----------------------- |
- Bus Voltage  | Supply voltage          |
- Actif        | Power draw in milliamps |
- Alimentation | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Journal des positions
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informations sur les voisins
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/nodes.html b/v2.8.0/docs/fr-rFR/user/nodes.html deleted file mode 100644 index 84678413ff..0000000000 --- a/v2.8.0/docs/fr-rFR/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nœuds - - - -
# Nœuds
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Rôle                             | Description                                                                                                                                            |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Base Client                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client muet                      | Receives but doesn't retransmit                                                                                                                        |
- Client masqué                    | Like Client Mute, plus hides from node list                                                                                                            |
- Routeur                          | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Routeur avec retard              | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Traqueur                         | Optimized for position reporting at regular intervals                                                                                                  |
- Capteur                          | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- Traqueur TAK                     | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Supprimer le nœud
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtre                     | Description                                                                          |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Description                                                        |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator          | Screenshot                                                    |
- ------------------ | ------------------------------------------------------------- |
- Signal quality     | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Niveau de batterie | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count          | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Dernière écoute    | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distance           | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/onboarding.html b/v2.8.0/docs/fr-rFR/user/onboarding.html deleted file mode 100644 index bf715a4df8..0000000000 --- a/v2.8.0/docs/fr-rFR/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/settings-module-admin.html b/v2.8.0/docs/fr-rFR/user/settings-module-admin.html deleted file mode 100644 index 8c230e4981..0000000000 --- a/v2.8.0/docs/fr-rFR/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Configuration du module
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting           | Description                                                              |
- ----------------- | ------------------------------------------------------------------------ |
- Activé            | Toggle MQTT bridge                                                       |
- Serveur           | MQTT broker address                                                      |
- Nom d'utilisateur | Authentication username                                                  |
- Mot de passe      | Authentication password                                                  |
- Chiffrement       | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS               | Use secure connection                                                    |
- Root Topic        | Base MQTT topic path                                                     |
- Map Report        | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting          | Description                     |
- ---------------- | ------------------------------- |
- Activé           | Activate serial communication   |
- Écho             | Echo received serial data back  |
- Mode             | Text, Protobuf, or NMEA output  |
- RX/TX Pins       | GPIO pins for serial connection |
- Vitesse en bauds | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Description                 |
- -------------------------------- | --------------------------- |
- Activé                           | Activate notifications      |
- Message d'alerte                 | Notify on incoming messages |
- Message d'alerte buzzer          | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Bip d'alerte                     | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Actif                            | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                          | Description                                                                                                                                      |
- ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Activé                                           | Activate store and forward                                                                                                                       |
- Battement de cœur (heartbeat) | Periodically announce this node's store-and-forward capability                                                                                   |
- Enregistrements                                  | Maximum stored messages                                                                                                                          |
- History Return (max)          | Max messages to replay                                                                                                                           |
- History Return (window)       | Time window for replay                                                                                                                           |
- Serveur                                          | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Description                       |
- -------------------------------------- | --------------------------------- |
- Activé                                 | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Description                             |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Qualité de l'air activée     | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Description                                                 |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Envoyer un bip     | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Description                      |
- --------------- | -------------------------------- |
- Activé          | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Description                                                     |
- -------------------- | --------------------------------------------------------------- |
- Activé               | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Description                                                                                                                          |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Activé                                 | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Description                                                |
- ------------------ | ---------------------------------------------------------- |
- État des LED       | Turn the LED on or off                                     |
- Actif              | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Description                                                                                                                             |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Activé                                   | Activate detection sensor                                                                                                               |
- Broche de monitoring                     | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Envoyer un bip                           | Include bell character in alerts                                                                                                        |
- Nom convivial                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Description                |
- -------------------------------------- | -------------------------- |
- Activé                                 | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Administration à distance
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Nettoyer la base de données des nœuds
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Redémarrer
-
-Remotely reboot a connected or administered node.
-
-### Panneau de débogage
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/settings-radio-user.html b/v2.8.0/docs/fr-rFR/user/settings-radio-user.html deleted file mode 100644 index 2fd45c86a7..0000000000 --- a/v2.8.0/docs/fr-rFR/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## Paramètres utilisateur
-
-### User Profile
-
- Setting           | Description                                                                           |
- ----------------- | ------------------------------------------------------------------------------------- |
- Nom long          | Your display name (up to 39 characters)                            |
- Nom court         | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Configuration de l'appareil
-
- Setting                                    | Description                                                             | Par défaut |
- ------------------------------------------ | ----------------------------------------------------------------------- | ---------- |
- Rôle                                       | Node behavior (Client, Router, etc.) | Client     |
- Mode de réémission                         | How the node retransmits messages                                       | Tout       |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800      |
- Double-tap Button                          | Action for double-tap button press                                      | Désactivé  |
-
-### Configuration LoRa
-
- Setting               | Description                                                             | Par défaut                                |
- --------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Région                | Regulatory region for frequency bands                                   | Unset (must configure) |
- Préréglage du modem   | Speed/range tradeoff                                                    | LongFast                                  |
- Limite de sauts       | Maximum retransmit hops                                                 | 3                                         |
- TX Power              | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Décalage de fréquence | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth     | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Vitesse                   | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Configuration de l'écran
-
- Setting                       | Description                                                                          |
- ----------------------------- | ------------------------------------------------------------------------------------ |
- Délai d'extinction de l'écran | Time before display sleeps                                                           |
- Unités affichées              | Metric or Imperial                                                                   |
- Type d'OLED                   | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation           | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~             | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Configuration de la position
-
- Setting                                   | Description                        |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- Intervalle de mise à jour GPS             | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Position Intelligente                     | Enable movement-based broadcasting |
- Position fixe                             | Use a manually set position        |
-
-### Configuration de l'alimentation
-
- Setting                                 | Description                             |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Configuration du réseau
-
- Setting       | Description                                          |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Mot de passe du réseau                               |
- Serveur NTP   | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Configuration Bluetooth
-
- Setting           | Description                                                               |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Mode d'appairage  | Fixed PIN, Random PIN, or No PIN                                          |
- Code PIN fixe     | PIN code for pairing (default: 123456) |
-
-### Configuration de sécurité
-
- Setting                   | Description                                                                                                                                                                                                    |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Clé publique              | Your node's public key (read-only)                                                                                                                                                          |
- Clé Admin                 | Key for remote administration                                                                                                                                                                                  |
- Clé privée                | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Mode géré                 | Restrict non-admin channel changes                                                                                                                                                                             |
- Sauvegarder les clés      | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/signal-meter.html b/v2.8.0/docs/fr-rFR/user/signal-meter.html deleted file mode 100644 index 444b13b185..0000000000 --- a/v2.8.0/docs/fr-rFR/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------ | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bon      | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Passable | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Mauvais  | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Aucun    | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/tak.html b/v2.8.0/docs/fr-rFR/user/tak.html deleted file mode 100644 index dfc4a9bdbc..0000000000 --- a/v2.8.0/docs/fr-rFR/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Description                |
- ------- | -------------------------- |
- Activé  | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Rôle            | Description                                                                                                                                                                                                                                                                         |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting             | Description                                                                                                      |
- ------------------- | ---------------------------------------------------------------------------------------------------------------- |
- Couleur de l'équipe | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Rôle Membre         | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/telemetry-and-sensors.html b/v2.8.0/docs/fr-rFR/user/telemetry-and-sensors.html deleted file mode 100644 index 5f57bb5dc3..0000000000 --- a/v2.8.0/docs/fr-rFR/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric                  | Description                    | Typical Range                                                      |
- ----------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Niveau de batterie      | Charge percentage              | 0–100%                                                             |
- Tension                 | Battery voltage                | 3.0–4.2V (LiPo) |
- Utilisation du canal    | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX      | % of airtime used by this node | 0–100%                                                             |
- Durée de fonctionnement | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Capteur | Température | Humidité | Pression | Notes                   |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Capteur  | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Capteur  | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Métriques d'alimentation
-
-Nodes with INA-series power sensors can report:
-
- Metric       | Description                               |
- ------------ | ----------------------------------------- |
- Bus Voltage  | Supply rail voltage                       |
- Actif        | Power consumption (mA) |
- Alimentation | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Description                  |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/translate.html b/v2.8.0/docs/fr-rFR/user/translate.html deleted file mode 100644 index 376f00f6c5..0000000000 --- a/v2.8.0/docs/fr-rFR/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/units-and-locale.html b/v2.8.0/docs/fr-rFR/user/units-and-locale.html deleted file mode 100644 index b9e188b526..0000000000 --- a/v2.8.0/docs/fr-rFR/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Température
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Vitesse
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vent
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/fr-rFR/user/widget.html b/v2.8.0/docs/fr-rFR/user/widget.html deleted file mode 100644 index bbbb5d2524..0000000000 --- a/v2.8.0/docs/fr-rFR/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/android-auto.html b/v2.8.0/docs/ga-rIE/user/android-auto.html deleted file mode 100644 index a79340f8dd..0000000000 --- a/v2.8.0/docs/ga-rIE/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/app-functions.html b/v2.8.0/docs/ga-rIE/user/app-functions.html deleted file mode 100644 index 7c3ca1568b..0000000000 --- a/v2.8.0/docs/ga-rIE/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/connections.html b/v2.8.0/docs/ga-rIE/user/connections.html deleted file mode 100644 index 01decf96a8..0000000000 --- a/v2.8.0/docs/ga-rIE/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Cur síos                      |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Na ceangailte  | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/debug-logs.html b/v2.8.0/docs/ga-rIE/user/debug-logs.html deleted file mode 100644 index 95e308e257..0000000000 --- a/v2.8.0/docs/ga-rIE/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/desktop.html b/v2.8.0/docs/ga-rIE/user/desktop.html deleted file mode 100644 index ea0b97f7e8..0000000000 --- a/v2.8.0/docs/ga-rIE/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/discovery.html b/v2.8.0/docs/ga-rIE/user/discovery.html deleted file mode 100644 index 872b40893d..0000000000 --- a/v2.8.0/docs/ga-rIE/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Céim rianadóireachta
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/firmware.html b/v2.8.0/docs/ga-rIE/user/firmware.html deleted file mode 100644 index 2a10b7457d..0000000000 --- a/v2.8.0/docs/ga-rIE/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Cainéal    | Cur síos                                                                   |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/help-and-docs.html b/v2.8.0/docs/ga-rIE/user/help-and-docs.html deleted file mode 100644 index aabdafd022..0000000000 --- a/v2.8.0/docs/ga-rIE/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/map-and-waypoints.html b/v2.8.0/docs/ga-rIE/user/map-and-waypoints.html deleted file mode 100644 index dcbac35b6d..0000000000 --- a/v2.8.0/docs/ga-rIE/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Cur síos                                                |
- ---------- | ------------------------------------------------------- |
- Ainm       | Short identifier (max 29 characters) |
- Cur síos   | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Ceangailte | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/messages-and-channels.html b/v2.8.0/docs/ga-rIE/user/messages-and-channels.html deleted file mode 100644 index 98251f3d30..0000000000 --- a/v2.8.0/docs/ga-rIE/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Cur síos                                                                                                                               |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Earráid                             | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Earráid           | Meaning                                  | What to Do                                                                                                                                                                  |
- ----------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route          | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK           | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Am tráth          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Gan anicéir       | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit    | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Gan cainéal       | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large         | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response       | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit  | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Iarratas Mícheart | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/mqtt.html b/v2.8.0/docs/ga-rIE/user/mqtt.html deleted file mode 100644 index 74b3d3cbd4..0000000000 --- a/v2.8.0/docs/ga-rIE/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Cur síos                                                                                      | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Cur síos                         |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Cur síos                            | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/node-metrics.html b/v2.8.0/docs/ga-rIE/user/node-metrics.html deleted file mode 100644 index 13ee887b78..0000000000 --- a/v2.8.0/docs/ga-rIE/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric        | Cur síos                            |
- ------------- | ----------------------------------- |
- Battery Level | Current battery percentage          |
- Voltage       | Battery voltage reading             |
- Úsáid cainéil | Percentage of airtime consumed      |
- Airtime       | Transmission time used by this node |
- Uptime        | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Teocht                               | BME280, BME680, SHT31 |
- Laige                                | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Cur síos                                                                                                                                                                                                                   |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Maith    | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Cur síos                                                                       |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality          | Criteria                                                         |
- ---------------- | ---------------------------------------------------------------- |
- Maith            | SNR above the preset's limit                                     |
- Ceart go leor    | less than 5.5 dB below the limit                 |
- Go dona          | 5.5 dB to 7.5 dB below the limit |
- Ní dhéanfaidh sé | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Cur síos                |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Céim rianadóireachta
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Lógáil Seirbhís
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/nodes.html b/v2.8.0/docs/ga-rIE/user/nodes.html deleted file mode 100644 index 4df0e3a8e5..0000000000 --- a/v2.8.0/docs/ga-rIE/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Cur síos                                                                                                                                               |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Scagaire                   | Cur síos                                                                             |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Cur síos                                                           |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator         | Screenshot                                                    |
- ----------------- | ------------------------------------------------------------- |
- Signal quality    | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level     | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count         | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Deiridh chluinmhu | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Sáth              | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/onboarding.html b/v2.8.0/docs/ga-rIE/user/onboarding.html deleted file mode 100644 index 3ae5ac0c6e..0000000000 --- a/v2.8.0/docs/ga-rIE/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/settings-module-admin.html b/v2.8.0/docs/ga-rIE/user/settings-module-admin.html deleted file mode 100644 index aab0198b34..0000000000 --- a/v2.8.0/docs/ga-rIE/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Cur síos                                                                 |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Cur síos                        |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Cur síos                    |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Cur síos                                                                                                                                         |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Cur síos                          |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Cur síos                                |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Cur síos                                                    |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Cur síos                         |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Cur síos                                                        |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Cur síos                                                                                                                             |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Cur síos                                                   |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Cur síos                                                                                                                                |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Cur síos                   |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Rialachas
-
-### Rialú iargúlta
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Athmhaoinigh
-
-Remotely reboot a connected or administered node.
-
-### Painéal Laige
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/settings-radio-user.html b/v2.8.0/docs/ga-rIE/user/settings-radio-user.html deleted file mode 100644 index 05f29228da..0000000000 --- a/v2.8.0/docs/ga-rIE/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Cur síos                                                                              |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Cur síos                                                                | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Cur síos                                                                | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Réigiún           | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Cur síos                                                                             |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Cur síos                           |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Cur síos                                |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Cur síos                                             |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Cur síos                                                                  |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Cur síos                                                                                                                                                                                                       |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/signal-meter.html b/v2.8.0/docs/ga-rIE/user/signal-meter.html deleted file mode 100644 index f2bc9f9066..0000000000 --- a/v2.8.0/docs/ga-rIE/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
-------------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Maith            | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Ceart go leor    | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Go dona          | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Ní dhéanfaidh sé | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/tak.html b/v2.8.0/docs/ga-rIE/user/tak.html deleted file mode 100644 index 5c5cc684d2..0000000000 --- a/v2.8.0/docs/ga-rIE/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Cur síos                   |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Cur síos                                                                                                                                                                                                                                                                            |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Cur síos                                                                                                         |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/telemetry-and-sensors.html b/v2.8.0/docs/ga-rIE/user/telemetry-and-sensors.html deleted file mode 100644 index 850b3c690d..0000000000 --- a/v2.8.0/docs/ga-rIE/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Cur síos                       | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Voltage            | Battery voltage                | 3.0–4.2V (LiPo) |
- Úsáid cainéil      | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Uptime             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Teocht | Laige | Pressure | Notes                   |
- ------- | ------ | ----- | -------- | ----------------------- |
- BME280  | ✓      | ✓     | ✓        | Recommended all-in-one  |
- BME680  | ✓      | ✓     | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓      | ✓     | —        | High accuracy           |
- MCP9808 | ✓      | —     | —        | Precision temperature   |
- LPS22   | —      | —     | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Cur síos                                  |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Cur síos                     |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/translate.html b/v2.8.0/docs/ga-rIE/user/translate.html deleted file mode 100644 index 8040b8d2f7..0000000000 --- a/v2.8.0/docs/ga-rIE/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/units-and-locale.html b/v2.8.0/docs/ga-rIE/user/units-and-locale.html deleted file mode 100644 index df2db8c612..0000000000 --- a/v2.8.0/docs/ga-rIE/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Teocht
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ga-rIE/user/widget.html b/v2.8.0/docs/ga-rIE/user/widget.html deleted file mode 100644 index 9ac9eefd5e..0000000000 --- a/v2.8.0/docs/ga-rIE/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/android-auto.html b/v2.8.0/docs/gl-rES/user/android-auto.html deleted file mode 100644 index 3b597d3e57..0000000000 --- a/v2.8.0/docs/gl-rES/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/app-functions.html b/v2.8.0/docs/gl-rES/user/app-functions.html deleted file mode 100644 index 6d637bdaf4..0000000000 --- a/v2.8.0/docs/gl-rES/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/connections.html b/v2.8.0/docs/gl-rES/user/connections.html deleted file mode 100644 index d6b2bed962..0000000000 --- a/v2.8.0/docs/gl-rES/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Descrición                    |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Desconectado   | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/debug-logs.html b/v2.8.0/docs/gl-rES/user/debug-logs.html deleted file mode 100644 index c364ca3515..0000000000 --- a/v2.8.0/docs/gl-rES/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/desktop.html b/v2.8.0/docs/gl-rES/user/desktop.html deleted file mode 100644 index db4309e412..0000000000 --- a/v2.8.0/docs/gl-rES/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/discovery.html b/v2.8.0/docs/gl-rES/user/discovery.html deleted file mode 100644 index c2285fcb6c..0000000000 --- a/v2.8.0/docs/gl-rES/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traza-ruta
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/firmware.html b/v2.8.0/docs/gl-rES/user/firmware.html deleted file mode 100644 index df5ed7dc55..0000000000 --- a/v2.8.0/docs/gl-rES/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canle      | Descrición                                                                 |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/help-and-docs.html b/v2.8.0/docs/gl-rES/user/help-and-docs.html deleted file mode 100644 index 359a1ea1dc..0000000000 --- a/v2.8.0/docs/gl-rES/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/map-and-waypoints.html b/v2.8.0/docs/gl-rES/user/map-and-waypoints.html deleted file mode 100644 index 76eaabd3ae..0000000000 --- a/v2.8.0/docs/gl-rES/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Descrición                                              |
- ---------- | ------------------------------------------------------- |
- Nome       | Short identifier (max 29 characters) |
- Descrición | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Bloqueado  | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/messages-and-channels.html b/v2.8.0/docs/gl-rES/user/messages-and-channels.html deleted file mode 100644 index f6d3f9ecb4..0000000000 --- a/v2.8.0/docs/gl-rES/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descrición                                                                                                                             |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Erro                                | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Erro             | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- No Interface     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- No Channel       | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Bad Request      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/mqtt.html b/v2.8.0/docs/gl-rES/user/mqtt.html deleted file mode 100644 index 9322ebb34b..0000000000 --- a/v2.8.0/docs/gl-rES/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Descrición                                                                                    | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descrición                       |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descrición                          | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/node-metrics.html b/v2.8.0/docs/gl-rES/user/node-metrics.html deleted file mode 100644 index fe5543254f..0000000000 --- a/v2.8.0/docs/gl-rES/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Descrición                          |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperature                          | BME280, BME680, SHT31 |
- Humidity                             | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Descrición                                                                                                                                                                                                                 |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Descrición                                                                     |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- None    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Descrición              |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traza-ruta
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/nodes.html b/v2.8.0/docs/gl-rES/user/nodes.html deleted file mode 100644 index b334a9255d..0000000000 --- a/v2.8.0/docs/gl-rES/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Descrición                                                                                                                                             |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Cliente                          | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtro                     | Descrición                                                                           |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descrición                                                         |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Última escoita | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distancia      | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/onboarding.html b/v2.8.0/docs/gl-rES/user/onboarding.html deleted file mode 100644 index b8f2279a9d..0000000000 --- a/v2.8.0/docs/gl-rES/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/settings-module-admin.html b/v2.8.0/docs/gl-rES/user/settings-module-admin.html deleted file mode 100644 index e4b343fe9a..0000000000 --- a/v2.8.0/docs/gl-rES/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Descrición                                                               |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Descrición                      |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Descrición                  |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Descrición                                                                                                                                       |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Descrición                        |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Descrición                              |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Descrición                                                  |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Descrición                       |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Descrición                                                      |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Descrición                                                                                                                           |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Descrición                                                 |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Descrición                                                                                                                              |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Descrición                 |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reiniciar
-
-Remotely reboot a connected or administered node.
-
-### Panel de depuración
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/settings-radio-user.html b/v2.8.0/docs/gl-rES/user/settings-radio-user.html deleted file mode 100644 index 05794b301c..0000000000 --- a/v2.8.0/docs/gl-rES/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Descrición                                                                            |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Descrición                                                              | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Cliente  |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Descrición                                                              | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Rexión            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Descrición                                                                           |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Descrición                         |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Descrición                              |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Descrición                                           |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Descrición                                                                |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Descrición                                                                                                                                                                                                     |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/signal-meter.html b/v2.8.0/docs/gl-rES/user/signal-meter.html deleted file mode 100644 index 376f1fce59..0000000000 --- a/v2.8.0/docs/gl-rES/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- None  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/tak.html b/v2.8.0/docs/gl-rES/user/tak.html deleted file mode 100644 index ce3cd904ae..0000000000 --- a/v2.8.0/docs/gl-rES/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Descrición                 |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Descrición                                                                                                                                                                                                                                                                          |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Descrición                                                                                                       |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/telemetry-and-sensors.html b/v2.8.0/docs/gl-rES/user/telemetry-and-sensors.html deleted file mode 100644 index 6d802cd52a..0000000000 --- a/v2.8.0/docs/gl-rES/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Descrición                     | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperature | Humidity | Pressure | Notes                   |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Descrición                                |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Descrición                   |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/translate.html b/v2.8.0/docs/gl-rES/user/translate.html deleted file mode 100644 index d6c1f88abf..0000000000 --- a/v2.8.0/docs/gl-rES/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/units-and-locale.html b/v2.8.0/docs/gl-rES/user/units-and-locale.html deleted file mode 100644 index 02ef77fdcd..0000000000 --- a/v2.8.0/docs/gl-rES/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/gl-rES/user/widget.html b/v2.8.0/docs/gl-rES/user/widget.html deleted file mode 100644 index 711c53566b..0000000000 --- a/v2.8.0/docs/gl-rES/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/android-auto.html b/v2.8.0/docs/hr-rHR/user/android-auto.html deleted file mode 100644 index ade6332a9e..0000000000 --- a/v2.8.0/docs/hr-rHR/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/app-functions.html b/v2.8.0/docs/hr-rHR/user/app-functions.html deleted file mode 100644 index a5e533d842..0000000000 --- a/v2.8.0/docs/hr-rHR/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/connections.html b/v2.8.0/docs/hr-rHR/user/connections.html deleted file mode 100644 index 4e5e043e41..0000000000 --- a/v2.8.0/docs/hr-rHR/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Opis                          |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Odspojeno      | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/debug-logs.html b/v2.8.0/docs/hr-rHR/user/debug-logs.html deleted file mode 100644 index d5d35c2819..0000000000 --- a/v2.8.0/docs/hr-rHR/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/desktop.html b/v2.8.0/docs/hr-rHR/user/desktop.html deleted file mode 100644 index cda4ca107c..0000000000 --- a/v2.8.0/docs/hr-rHR/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/discovery.html b/v2.8.0/docs/hr-rHR/user/discovery.html deleted file mode 100644 index 0b9ee760df..0000000000 --- a/v2.8.0/docs/hr-rHR/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/firmware.html b/v2.8.0/docs/hr-rHR/user/firmware.html deleted file mode 100644 index bfbb49489c..0000000000 --- a/v2.8.0/docs/hr-rHR/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal      | Opis                                                                       |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/help-and-docs.html b/v2.8.0/docs/hr-rHR/user/help-and-docs.html deleted file mode 100644 index af9765018f..0000000000 --- a/v2.8.0/docs/hr-rHR/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/map-and-waypoints.html b/v2.8.0/docs/hr-rHR/user/map-and-waypoints.html deleted file mode 100644 index 3dbf06b26d..0000000000 --- a/v2.8.0/docs/hr-rHR/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Opis                                                    |
- ---------- | ------------------------------------------------------- |
- Ime        | Short identifier (max 29 characters) |
- Opis       | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Zaključano | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/messages-and-channels.html b/v2.8.0/docs/hr-rHR/user/messages-and-channels.html deleted file mode 100644 index 5ff5b8fbb4..0000000000 --- a/v2.8.0/docs/hr-rHR/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Opis                                                                                                                                   |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Pogreška                            | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Pogreška         | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- No Interface     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- No Channel       | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Bad Request      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/mqtt.html b/v2.8.0/docs/hr-rHR/user/mqtt.html deleted file mode 100644 index 9ae13c8cb5..0000000000 --- a/v2.8.0/docs/hr-rHR/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Opis                                                                                          | Zadano                                              |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Opis                             |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Opis                                | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/node-metrics.html b/v2.8.0/docs/hr-rHR/user/node-metrics.html deleted file mode 100644 index afa8d55e75..0000000000 --- a/v2.8.0/docs/hr-rHR/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Opis                                |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperature                          | BME280, BME680, SHT31 |
- Humidity                             | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Opis                                                                                                                                                                                                                       |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Crveno   |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Opis                                                                           |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- None    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Opis                    |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/nodes.html b/v2.8.0/docs/hr-rHR/user/nodes.html deleted file mode 100644 index 480ba02922..0000000000 --- a/v2.8.0/docs/hr-rHR/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Opis                                                                                                                                                   |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtriraj                  | Opis                                                                                 |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Opis                                                               |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Posljednje čuo | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Udaljenost     | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/onboarding.html b/v2.8.0/docs/hr-rHR/user/onboarding.html deleted file mode 100644 index e97bd0959a..0000000000 --- a/v2.8.0/docs/hr-rHR/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/settings-module-admin.html b/v2.8.0/docs/hr-rHR/user/settings-module-admin.html deleted file mode 100644 index df9e7ddbe2..0000000000 --- a/v2.8.0/docs/hr-rHR/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Opis                                                                     |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Opis                            |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Opis                        |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Opis                                                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Opis                              |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Opis                                    |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Opis                                                        |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Opis                             |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Opis                                                            |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Opis                                                                                                                                 |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Opis                                                       |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Opis                                                                                                                                    |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Opis                       |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Ponovno pokreni
-
-Remotely reboot a connected or administered node.
-
-### Otklanjanje pogrešaka
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/settings-radio-user.html b/v2.8.0/docs/hr-rHR/user/settings-radio-user.html deleted file mode 100644 index f2b19b774a..0000000000 --- a/v2.8.0/docs/hr-rHR/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Opis                                                                                  |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Opis                                                                    | Zadano   |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Opis                                                                    | Zadano                                    |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regija            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Opis                                                                                 |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Opis                               |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Opis                                    |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Opis                                                 |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Postavke Bluetootha
-
- Setting           | Opis                                                                      |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Opis                                                                                                                                                                                                           |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/signal-meter.html b/v2.8.0/docs/hr-rHR/user/signal-meter.html deleted file mode 100644 index d92addd638..0000000000 --- a/v2.8.0/docs/hr-rHR/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- None  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/tak.html b/v2.8.0/docs/hr-rHR/user/tak.html deleted file mode 100644 index 4e3b5b7e8e..0000000000 --- a/v2.8.0/docs/hr-rHR/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Opis                       |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Opis                                                                                                                                                                                                                                                                                |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Opis                                                                                                             |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/telemetry-and-sensors.html b/v2.8.0/docs/hr-rHR/user/telemetry-and-sensors.html deleted file mode 100644 index f9c06ab8d4..0000000000 --- a/v2.8.0/docs/hr-rHR/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Opis                           | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperature | Humidity | Pressure | Notes                   |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Opis                                      |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Opis                         |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/translate.html b/v2.8.0/docs/hr-rHR/user/translate.html deleted file mode 100644 index 34c4df5037..0000000000 --- a/v2.8.0/docs/hr-rHR/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/units-and-locale.html b/v2.8.0/docs/hr-rHR/user/units-and-locale.html deleted file mode 100644 index 5e8a3a3960..0000000000 --- a/v2.8.0/docs/hr-rHR/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hr-rHR/user/widget.html b/v2.8.0/docs/hr-rHR/user/widget.html deleted file mode 100644 index 1695846a51..0000000000 --- a/v2.8.0/docs/hr-rHR/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/android-auto.html b/v2.8.0/docs/ht-rHT/user/android-auto.html deleted file mode 100644 index 4c35455b0c..0000000000 --- a/v2.8.0/docs/ht-rHT/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/app-functions.html b/v2.8.0/docs/ht-rHT/user/app-functions.html deleted file mode 100644 index 46d7fdb31f..0000000000 --- a/v2.8.0/docs/ht-rHT/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/connections.html b/v2.8.0/docs/ht-rHT/user/connections.html deleted file mode 100644 index 11cec1c123..0000000000 --- a/v2.8.0/docs/ht-rHT/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Deskripsyon                   |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Dekonekte      | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/debug-logs.html b/v2.8.0/docs/ht-rHT/user/debug-logs.html deleted file mode 100644 index 1617efe5a2..0000000000 --- a/v2.8.0/docs/ht-rHT/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/desktop.html b/v2.8.0/docs/ht-rHT/user/desktop.html deleted file mode 100644 index fed96e36ca..0000000000 --- a/v2.8.0/docs/ht-rHT/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/discovery.html b/v2.8.0/docs/ht-rHT/user/discovery.html deleted file mode 100644 index a725dd5f46..0000000000 --- a/v2.8.0/docs/ht-rHT/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/firmware.html b/v2.8.0/docs/ht-rHT/user/firmware.html deleted file mode 100644 index fc32fd7af2..0000000000 --- a/v2.8.0/docs/ht-rHT/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- kanal      | Deskripsyon                                                                |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/help-and-docs.html b/v2.8.0/docs/ht-rHT/user/help-and-docs.html deleted file mode 100644 index ac109c74e9..0000000000 --- a/v2.8.0/docs/ht-rHT/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/map-and-waypoints.html b/v2.8.0/docs/ht-rHT/user/map-and-waypoints.html deleted file mode 100644 index c9cf07cddb..0000000000 --- a/v2.8.0/docs/ht-rHT/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Deskripsyon                                             |
- ----------- | ------------------------------------------------------- |
- Non         | Short identifier (max 29 characters) |
- Deskripsyon | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Loken       | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/messages-and-channels.html b/v2.8.0/docs/ht-rHT/user/messages-and-channels.html deleted file mode 100644 index d9efd9968a..0000000000 --- a/v2.8.0/docs/ht-rHT/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Deskripsyon                                                                                                                            |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Erè                                 | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Erè              | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Tan pase         | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Pa gen entèfas   | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Pa gen kanal     | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Demann move      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/mqtt.html b/v2.8.0/docs/ht-rHT/user/mqtt.html deleted file mode 100644 index dc21eebb0c..0000000000 --- a/v2.8.0/docs/ht-rHT/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Deskripsyon                                                                                   | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Deskripsyon                      |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Deskripsyon                         | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/node-metrics.html b/v2.8.0/docs/ht-rHT/user/node-metrics.html deleted file mode 100644 index 403f5ac08e..0000000000 --- a/v2.8.0/docs/ht-rHT/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric            | Deskripsyon                         |
- ----------------- | ----------------------------------- |
- Battery Level     | Current battery percentage          |
- Voltage           | Battery voltage reading             |
- Itilizasyon Kanal | Percentage of airtime consumed      |
- Airtime           | Transmission time used by this node |
- Uptime            | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Tanperati                            | BME280, BME680, SHT31 |
- Imidite                              | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Deskripsyon                                                                                                                                                                                                                |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Bon      | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Deskripsyon                                                                    |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Bon     | SNR above the preset's limit                                     |
- Mwayen  | less than 5.5 dB below the limit                 |
- Move    | 5.5 dB to 7.5 dB below the limit |
- Pa gen  | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Deskripsyon             |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Jounal Pozisyon
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/nodes.html b/v2.8.0/docs/ht-rHT/user/nodes.html deleted file mode 100644 index 6ddb3b77a0..0000000000 --- a/v2.8.0/docs/ht-rHT/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Deskripsyon                                                                                                                                            |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtre                     | Deskripsyon                                                                          |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Deskripsyon                                                        |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator          | Screenshot                                                    |
- ------------------ | ------------------------------------------------------------- |
- Signal quality     | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level      | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count          | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Dènye fwa li tande | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distans            | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/onboarding.html b/v2.8.0/docs/ht-rHT/user/onboarding.html deleted file mode 100644 index fb2a5378d9..0000000000 --- a/v2.8.0/docs/ht-rHT/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/settings-module-admin.html b/v2.8.0/docs/ht-rHT/user/settings-module-admin.html deleted file mode 100644 index 5b5302abea..0000000000 --- a/v2.8.0/docs/ht-rHT/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Deskripsyon                                                              |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Deskripsyon                     |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Deskripsyon                 |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Deskripsyon                                                                                                                                      |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Deskripsyon                       |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Deskripsyon                             |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Deskripsyon                                                 |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Deskripsyon                      |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Deskripsyon                                                     |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Deskripsyon                                                                                                                          |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Deskripsyon                                                |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Deskripsyon                                                                                                                             |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Deskripsyon                |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administrasyon
-
-### Administrasyon Remote
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Rekòmanse
-
-Remotely reboot a connected or administered node.
-
-### Panno Debug
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/settings-radio-user.html b/v2.8.0/docs/ht-rHT/user/settings-radio-user.html deleted file mode 100644 index 5363311a5f..0000000000 --- a/v2.8.0/docs/ht-rHT/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Deskripsyon                                                                           |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Deskripsyon                                                             | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Deskripsyon                                                             | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Rejyon            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Deskripsyon                                                                          |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Deskripsyon                        |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Deskripsyon                             |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Deskripsyon                                          |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Deskripsyon                                                               |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Deskripsyon                                                                                                                                                                                                    |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/signal-meter.html b/v2.8.0/docs/ht-rHT/user/signal-meter.html deleted file mode 100644 index ddc8001d45..0000000000 --- a/v2.8.0/docs/ht-rHT/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
---- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bon    | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Mwayen | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Move   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Pa gen | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/tak.html b/v2.8.0/docs/ht-rHT/user/tak.html deleted file mode 100644 index 1725859144..0000000000 --- a/v2.8.0/docs/ht-rHT/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Deskripsyon                |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Deskripsyon                                                                                                                                                                                                                                                                         |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Deskripsyon                                                                                                      |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/telemetry-and-sensors.html b/v2.8.0/docs/ht-rHT/user/telemetry-and-sensors.html deleted file mode 100644 index fa3046540d..0000000000 --- a/v2.8.0/docs/ht-rHT/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Deskripsyon                    | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Voltage            | Battery voltage                | 3.0–4.2V (LiPo) |
- Itilizasyon Kanal  | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Uptime             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Tanperati | Imidite | Pressure | Notes                   |
- ------- | --------- | ------- | -------- | ----------------------- |
- BME280  | ✓         | ✓       | ✓        | Recommended all-in-one  |
- BME680  | ✓         | ✓       | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓         | ✓       | —        | High accuracy           |
- MCP9808 | ✓         | —       | —        | Precision temperature   |
- LPS22   | —         | —       | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Deskripsyon                               |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Deskripsyon                  |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/translate.html b/v2.8.0/docs/ht-rHT/user/translate.html deleted file mode 100644 index 3f70721a8d..0000000000 --- a/v2.8.0/docs/ht-rHT/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/units-and-locale.html b/v2.8.0/docs/ht-rHT/user/units-and-locale.html deleted file mode 100644 index e691026b44..0000000000 --- a/v2.8.0/docs/ht-rHT/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Tanperati
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ht-rHT/user/widget.html b/v2.8.0/docs/ht-rHT/user/widget.html deleted file mode 100644 index f294c39e58..0000000000 --- a/v2.8.0/docs/ht-rHT/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/android-auto.html b/v2.8.0/docs/hu-rHU/user/android-auto.html deleted file mode 100644 index b3dd1da017..0000000000 --- a/v2.8.0/docs/hu-rHU/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Üzenetek
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Csomópontok
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/app-functions.html b/v2.8.0/docs/hu-rHU/user/app-functions.html deleted file mode 100644 index 5cad2b9428..0000000000 --- a/v2.8.0/docs/hu-rHU/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/connections.html b/v2.8.0/docs/hu-rHU/user/connections.html deleted file mode 100644 index b74c019e34..0000000000 --- a/v2.8.0/docs/hu-rHU/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Leírás                        |
- ---- | -------------- | ----------------------------- |
- 🟢   | Csatlakoztatva | Active radio link established |
- 🟡   | Csatlakozás…   | Handshake in progress         |
- 🔴   | Szétkapcsolva  | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/debug-logs.html b/v2.8.0/docs/hu-rHU/user/debug-logs.html deleted file mode 100644 index 80efc24eaa..0000000000 --- a/v2.8.0/docs/hu-rHU/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/desktop.html b/v2.8.0/docs/hu-rHU/user/desktop.html deleted file mode 100644 index 77bba5bc84..0000000000 --- a/v2.8.0/docs/hu-rHU/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Jegyzetek                                                                                 |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Térkép                                       | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Beállítások                                  | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/discovery.html b/v2.8.0/docs/hu-rHU/user/discovery.html deleted file mode 100644 index b8bdddf678..0000000000 --- a/v2.8.0/docs/hu-rHU/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/firmware.html b/v2.8.0/docs/hu-rHU/user/firmware.html deleted file mode 100644 index b3e472bd35..0000000000 --- a/v2.8.0/docs/hu-rHU/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Csatorna   | Leírás                                                                     |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/help-and-docs.html b/v2.8.0/docs/hu-rHU/user/help-and-docs.html deleted file mode 100644 index 32215d6f0a..0000000000 --- a/v2.8.0/docs/hu-rHU/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/map-and-waypoints.html b/v2.8.0/docs/hu-rHU/user/map-and-waypoints.html deleted file mode 100644 index 597dee8efc..0000000000 --- a/v2.8.0/docs/hu-rHU/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Leírás                                                  |
- ---------- | ------------------------------------------------------- |
- Név        | Short identifier (max 29 characters) |
- Leírás     | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Zárolt     | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Térképrétegek
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/messages-and-channels.html b/v2.8.0/docs/hu-rHU/user/messages-and-channels.html deleted file mode 100644 index e9781ef6a6..0000000000 --- a/v2.8.0/docs/hu-rHU/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Csatornák
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Csatorna biztonság
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Leírás                                                                                                                                 |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Hiba                                | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Hiba             | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Időtúllépés      | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Nincs Interfész  | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Nincs Csatorna   | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Hibás kérés      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Típus         | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/mqtt.html b/v2.8.0/docs/hu-rHU/user/mqtt.html deleted file mode 100644 index 25aee9f9d8..0000000000 --- a/v2.8.0/docs/hu-rHU/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Leírás                                                                                        | Alapértelmezett                                     |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Felhasználónév  | Broker authentication                                                                         | meshdev                                             |
- Jelszó          | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Engedélyezve                                        |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Leírás                           |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Leírás                              | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/node-metrics.html b/v2.8.0/docs/hu-rHU/user/node-metrics.html deleted file mode 100644 index b7e3f833fb..0000000000 --- a/v2.8.0/docs/hu-rHU/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Eszközmetrikák
-
-Basic operating information reported by each node:
-
- Metric            | Leírás                              |
- ----------------- | ----------------------------------- |
- Battery Level     | Current battery percentage          |
- Feszültség        | Battery voltage reading             |
- Csatornahasználat | Percentage of airtime consumed      |
- Airtime           | Transmission time used by this node |
- Működési idő      | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Környezeti metrikák
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Hőmérséklet                          | BME280, BME680, SHT31 |
- Páratartalom                         | BME280, BME680, SHT31 |
- Légnyomás                            | BME280, BMP280        |
- Gázellenállás                        | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Leírás                                                                                                                                                                                                                     |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Jó       | < 1000    | Zöld     |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Piros    |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Leírás                                                                         |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality   | Criteria                                                         |
- --------- | ---------------------------------------------------------------- |
- Jó        | SNR above the preset's limit                                     |
- Megfelelő | less than 5.5 dB below the limit                 |
- Rossz     | 5.5 dB to 7.5 dB below the limit |
- Semmi     | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Tápellátási metrikák
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Leírás                  |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Áramerősség | Power draw in milliamps |
- Energia     | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Pozíciónapló
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Magasság
-- Speed (if moving)
-- Timestamp for each position report
-
-## Szomszéd-információ
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/nodes.html b/v2.8.0/docs/hu-rHU/user/nodes.html deleted file mode 100644 index b35433b43e..0000000000 --- a/v2.8.0/docs/hu-rHU/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Csomópontok - - - -
# Csomópontok
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Szerepkör                        | Leírás                                                                                                                                                 |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Kliens                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Néma Kliens                      | Receives but doesn't retransmit                                                                                                                        |
- Rejtett Kliens                   | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Késő Router                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Szenzor                          | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Leírás                                                                               |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Leírás                                                             |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator        | Screenshot                                                    |
- ---------------- | ------------------------------------------------------------- |
- Signal quality   | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level    | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count        | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Utoljára hallott | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Távolság         | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/onboarding.html b/v2.8.0/docs/hu-rHU/user/onboarding.html deleted file mode 100644 index 4d9d950029..0000000000 --- a/v2.8.0/docs/hu-rHU/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/settings-module-admin.html b/v2.8.0/docs/hu-rHU/user/settings-module-admin.html deleted file mode 100644 index 2e8821c4f8..0000000000 --- a/v2.8.0/docs/hu-rHU/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Leírás                                                                   |
- --------------- | ------------------------------------------------------------------------ |
- Engedélyezve    | Toggle MQTT bridge                                                       |
- Szerver         | MQTT broker address                                                      |
- Felhasználónév  | Authentication username                                                  |
- Jelszó          | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting      | Leírás                          |
- ------------ | ------------------------------- |
- Engedélyezve | Activate serial communication   |
- Echo         | Echo received serial data back  |
- Mode         | Text, Protobuf, or NMEA output  |
- RX/TX Pins   | GPIO pins for serial connection |
- Baud Rate    | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Leírás                      |
- -------------------------------- | --------------------------- |
- Engedélyezve                     | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Leírás                                                                                                                                           |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Engedélyezve                               | Activate store and forward                                                                                                                       |
- Heartbeat jel                              | Periodically announce this node's store-and-forward capability                                                                                   |
- Bejegyzések                                | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Szerver                                    | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Leírás                            |
- -------------------------------------- | --------------------------------- |
- Engedélyezve                           | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Leírás                                  |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Leírás                                                      |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Üzenetek           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Leírás                           |
- --------------- | -------------------------------- |
- Engedélyezve    | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Leírás                                                          |
- -------------------- | --------------------------------------------------------------- |
- Engedélyezve         | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Leírás                                                                                                                               |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Engedélyezve                           | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Leírás                                                     |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Áramerősség        | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Leírás                                                                                                                                  |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Engedélyezve                             | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Leírás                     |
- -------------------------------------- | -------------------------- |
- Engedélyezve                           | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Adminisztráció
-
-### Távoli Adminisztráció
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Csomópont-adatbázis tisztítása
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Újraindítás
-
-Remotely reboot a connected or administered node.
-
-### Hibakereső panel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/settings-radio-user.html b/v2.8.0/docs/hu-rHU/user/settings-radio-user.html deleted file mode 100644 index 80bdf930b7..0000000000 --- a/v2.8.0/docs/hu-rHU/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Leírás                                                                                |
- ----------------- | ------------------------------------------------------------------------------------- |
- Hosszú név        | Your display name (up to 39 characters)                            |
- Rövid név         | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Eszközbeállítások
-
- Setting                                    | Leírás                                                                  | Alapértelmezett |
- ------------------------------------------ | ----------------------------------------------------------------------- | --------------- |
- Szerepkör                                  | Node behavior (Client, Router, etc.) | Kliens          |
- Újrasugárzási mód                          | How the node retransmits messages                                       | Összes          |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800           |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled        |
-
-### LoRa beállítások
-
- Setting            | Leírás                                                                  | Alapértelmezett                           |
- ------------------ | ----------------------------------------------------------------------- | ----------------------------------------- |
- Régió              | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem-előbeállítás | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit          | Maximum retransmit hops                                                 | 3                                         |
- TX Power           | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset   | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth  | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Sebesség                  | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Kijelző beállítások
-
- Setting             | Leírás                                                                               |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Pozíció beállítások
-
- Setting                                   | Leírás                             |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Intelligens pozíció                       | Enable movement-based broadcasting |
- Rögzített pozíció                         | Use a manually set position        |
-
-### Energia-beállítások
-
- Setting                                 | Leírás                                  |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Hálózati beállítások
-
- Setting       | Leírás                                               |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth beállítások
-
- Setting           | Leírás                                                                    |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Rögzített PIN     | PIN code for pairing (default: 123456) |
-
-### Biztonsági beállítások
-
- Setting                   | Leírás                                                                                                                                                                                                         |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Nyilvános kulcs           | Your node's public key (read-only)                                                                                                                                                          |
- Admin kulcs               | Key for remote administration                                                                                                                                                                                  |
- Privát kulcs              | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Felügyelt mód             | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/signal-meter.html b/v2.8.0/docs/hu-rHU/user/signal-meter.html deleted file mode 100644 index 48554b728c..0000000000 --- a/v2.8.0/docs/hu-rHU/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Jó        | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Megfelelő | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Rossz     | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Semmi     | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/tak.html b/v2.8.0/docs/hu-rHU/user/tak.html deleted file mode 100644 index 78bac88ec5..0000000000 --- a/v2.8.0/docs/hu-rHU/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting      | Leírás                     |
- ------------ | -------------------------- |
- Engedélyezve | Activate TAK interop       |
- Mode         | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Szerepkör       | Leírás                                                                                                                                                                                                                                                                              |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Leírás                                                                                                           |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/telemetry-and-sensors.html b/v2.8.0/docs/hu-rHU/user/telemetry-and-sensors.html deleted file mode 100644 index b754d03951..0000000000 --- a/v2.8.0/docs/hu-rHU/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Leírás                         | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Feszültség         | Battery voltage                | 3.0–4.2V (LiPo) |
- Csatornahasználat  | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Működési idő       | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Szenzor | Hőmérséklet | Páratartalom | Nyomás | Jegyzetek               |
- ------- | ----------- | ------------ | ------ | ----------------------- |
- BME280  | ✓           | ✓            | ✓      | Recommended all-in-one  |
- BME680  | ✓           | ✓            | ✓      | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓            | —      | High accuracy           |
- MCP9808 | ✓           | —            | —      | Precision temperature   |
- LPS22   | —           | —            | ✓      | Pressure only           |
-
-### Air Quality
-
- Szenzor  | Metric                                             | Jegyzetek                  |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Szenzor  | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Tápellátási metrikák
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Leírás                                    |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Áramerősség | Power consumption (mA) |
- Energia     | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Leírás                       |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/translate.html b/v2.8.0/docs/hu-rHU/user/translate.html deleted file mode 100644 index 9cdfc9def2..0000000000 --- a/v2.8.0/docs/hu-rHU/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/units-and-locale.html b/v2.8.0/docs/hu-rHU/user/units-and-locale.html deleted file mode 100644 index 1326fc37ce..0000000000 --- a/v2.8.0/docs/hu-rHU/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Hőmérséklet
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Magasság |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Sebesség
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Szél
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Sugárzás                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/hu-rHU/user/widget.html b/v2.8.0/docs/hu-rHU/user/widget.html deleted file mode 100644 index c3b346b05d..0000000000 --- a/v2.8.0/docs/hu-rHU/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/android-auto.html b/v2.8.0/docs/is-rIS/user/android-auto.html deleted file mode 100644 index 09788ebf4c..0000000000 --- a/v2.8.0/docs/is-rIS/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/app-functions.html b/v2.8.0/docs/is-rIS/user/app-functions.html deleted file mode 100644 index ae90aacf5a..0000000000 --- a/v2.8.0/docs/is-rIS/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/connections.html b/v2.8.0/docs/is-rIS/user/connections.html deleted file mode 100644 index 31b90f1504..0000000000 --- a/v2.8.0/docs/is-rIS/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Lýsing                        |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Aftengd        | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/debug-logs.html b/v2.8.0/docs/is-rIS/user/debug-logs.html deleted file mode 100644 index 00eb39fdca..0000000000 --- a/v2.8.0/docs/is-rIS/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/desktop.html b/v2.8.0/docs/is-rIS/user/desktop.html deleted file mode 100644 index 14e02e8f9a..0000000000 --- a/v2.8.0/docs/is-rIS/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/discovery.html b/v2.8.0/docs/is-rIS/user/discovery.html deleted file mode 100644 index 58ed79f90e..0000000000 --- a/v2.8.0/docs/is-rIS/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Ferilkönnun
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/firmware.html b/v2.8.0/docs/is-rIS/user/firmware.html deleted file mode 100644 index c5ec47d833..0000000000 --- a/v2.8.0/docs/is-rIS/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Channel    | Lýsing                                                                     |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/help-and-docs.html b/v2.8.0/docs/is-rIS/user/help-and-docs.html deleted file mode 100644 index 0e3238d4d9..0000000000 --- a/v2.8.0/docs/is-rIS/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/map-and-waypoints.html b/v2.8.0/docs/is-rIS/user/map-and-waypoints.html deleted file mode 100644 index d7dde3c4e9..0000000000 --- a/v2.8.0/docs/is-rIS/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Lýsing                                                  |
- ---------- | ------------------------------------------------------- |
- Heiti      | Short identifier (max 29 characters) |
- Lýsing     | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Læst       | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/messages-and-channels.html b/v2.8.0/docs/is-rIS/user/messages-and-channels.html deleted file mode 100644 index 1436e70c42..0000000000 --- a/v2.8.0/docs/is-rIS/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Lýsing                                                                                                                                 |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Error                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Error            | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- No Interface     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- No Channel       | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Bad Request      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/mqtt.html b/v2.8.0/docs/is-rIS/user/mqtt.html deleted file mode 100644 index 6390ba09ec..0000000000 --- a/v2.8.0/docs/is-rIS/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Lýsing                                                                                        | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Lýsing                           |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Lýsing                              | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/node-metrics.html b/v2.8.0/docs/is-rIS/user/node-metrics.html deleted file mode 100644 index 71cb888728..0000000000 --- a/v2.8.0/docs/is-rIS/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Lýsing                              |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperature                          | BME280, BME680, SHT31 |
- Humidity                             | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Lýsing                                                                                                                                                                                                                     |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Lýsing                                                                         |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- None    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Lýsing                  |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Ferilkönnun
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/nodes.html b/v2.8.0/docs/is-rIS/user/nodes.html deleted file mode 100644 index bf2e0cef45..0000000000 --- a/v2.8.0/docs/is-rIS/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Lýsing                                                                                                                                                 |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Lýsing                                                                               |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Lýsing                                                             |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Last heard     | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distance       | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/onboarding.html b/v2.8.0/docs/is-rIS/user/onboarding.html deleted file mode 100644 index 8b673905d2..0000000000 --- a/v2.8.0/docs/is-rIS/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/settings-module-admin.html b/v2.8.0/docs/is-rIS/user/settings-module-admin.html deleted file mode 100644 index 1777fed11b..0000000000 --- a/v2.8.0/docs/is-rIS/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Lýsing                                                                   |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Lýsing                          |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Lýsing                      |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Lýsing                                                                                                                                           |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Lýsing                            |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Lýsing                                  |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Lýsing                                                      |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Lýsing                           |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Lýsing                                                          |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Lýsing                                                                                                                               |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Lýsing                                                     |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Lýsing                                                                                                                                  |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Lýsing                     |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Endurræsa
-
-Remotely reboot a connected or administered node.
-
-### Villuleitarborð
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/settings-radio-user.html b/v2.8.0/docs/is-rIS/user/settings-radio-user.html deleted file mode 100644 index b020135f2d..0000000000 --- a/v2.8.0/docs/is-rIS/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Lýsing                                                                                |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Lýsing                                                                  | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Lýsing                                                                  | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Svæði             | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Lýsing                                                                               |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Lýsing                             |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Lýsing                                  |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Lýsing                                               |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Lýsing                                                                    |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Lýsing                                                                                                                                                                                                         |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/signal-meter.html b/v2.8.0/docs/is-rIS/user/signal-meter.html deleted file mode 100644 index 4a6f6c643b..0000000000 --- a/v2.8.0/docs/is-rIS/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- None  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/tak.html b/v2.8.0/docs/is-rIS/user/tak.html deleted file mode 100644 index 837a262b50..0000000000 --- a/v2.8.0/docs/is-rIS/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Lýsing                     |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Lýsing                                                                                                                                                                                                                                                                              |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Lýsing                                                                                                           |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/telemetry-and-sensors.html b/v2.8.0/docs/is-rIS/user/telemetry-and-sensors.html deleted file mode 100644 index 9fff080064..0000000000 --- a/v2.8.0/docs/is-rIS/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Lýsing                         | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperature | Humidity | Pressure | Notes                   |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Lýsing                                    |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Lýsing                       |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/translate.html b/v2.8.0/docs/is-rIS/user/translate.html deleted file mode 100644 index adfbbadc1b..0000000000 --- a/v2.8.0/docs/is-rIS/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/units-and-locale.html b/v2.8.0/docs/is-rIS/user/units-and-locale.html deleted file mode 100644 index 5da4dc29f4..0000000000 --- a/v2.8.0/docs/is-rIS/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/is-rIS/user/widget.html b/v2.8.0/docs/is-rIS/user/widget.html deleted file mode 100644 index 1603311971..0000000000 --- a/v2.8.0/docs/is-rIS/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/android-auto.html b/v2.8.0/docs/it-rIT/user/android-auto.html deleted file mode 100644 index a7c2d5314a..0000000000 --- a/v2.8.0/docs/it-rIT/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Panoramica
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messaggi
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodi
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/app-functions.html b/v2.8.0/docs/it-rIT/user/app-functions.html deleted file mode 100644 index bbd8091473..0000000000 --- a/v2.8.0/docs/it-rIT/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/connections.html b/v2.8.0/docs/it-rIT/user/connections.html deleted file mode 100644 index c21bd64a70..0000000000 --- a/v2.8.0/docs/it-rIT/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connessioni - - - -
# Connessioni
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State                | Descrizione                    |
- ---- | -------------------- | ------------------------------ |
- 🟢   | Connesso             | Active radio link established  |
- 🟡   | Connessione in corso | Handshake in progress          |
- 🔴   | Disconnesso          | No active connection           |
- ⚪    | Not configured       | Nessun dispositivo selezionato |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Configurazione
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/debug-logs.html b/v2.8.0/docs/it-rIT/user/debug-logs.html deleted file mode 100644 index a191289f8b..0000000000 --- a/v2.8.0/docs/it-rIT/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/desktop.html b/v2.8.0/docs/it-rIT/user/desktop.html deleted file mode 100644 index d3a3859ed2..0000000000 --- a/v2.8.0/docs/it-rIT/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installazione
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Note                                                                                      |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mappa                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Impostazioni                                 | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Aggiornamento Firmware                       | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requisiti:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Limitazioni conosciute
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/discovery.html b/v2.8.0/docs/it-rIT/user/discovery.html deleted file mode 100644 index 37b0084713..0000000000 --- a/v2.8.0/docs/it-rIT/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metrico                                  | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Utilizzo Canale                          | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/firmware.html b/v2.8.0/docs/it-rIT/user/firmware.html deleted file mode 100644 index 506233f517..0000000000 --- a/v2.8.0/docs/it-rIT/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canale     | Descrizione                                                                |
- ---------- | -------------------------------------------------------------------------- |
- Stabile    | Recommended for most users; tested releases                                |
- Alfa       | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Risoluzione problemi
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/help-and-docs.html b/v2.8.0/docs/it-rIT/user/help-and-docs.html deleted file mode 100644 index 7037da2e2b..0000000000 --- a/v2.8.0/docs/it-rIT/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/map-and-waypoints.html b/v2.8.0/docs/it-rIT/user/map-and-waypoints.html deleted file mode 100644 index d5c2caa525..0000000000 --- a/v2.8.0/docs/it-rIT/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Descrizione                                             |
- ----------- | ------------------------------------------------------- |
- Nome        | Short identifier (max 29 characters) |
- Descrizione | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Bloccato    | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Livelli della mappa
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/messages-and-channels.html b/v2.8.0/docs/it-rIT/user/messages-and-channels.html deleted file mode 100644 index e3ef0e12e1..0000000000 --- a/v2.8.0/docs/it-rIT/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Canali
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Sicurezza del canale
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descrizione                                                                                                                            |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Messaggi Diretti
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Percorso tramite catena SF++…       | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confermato sulla catena SF++        | Confirmed delivered via the SF++ chain                                                                                               |
- Errori                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Errori               | Meaning                                  | What to Do                                                                                                                                                                  |
- -------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route             | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK              | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout              | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Nessuna Interfaccia  | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit       | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Nessun Canale        | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large            | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response          | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit     | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Richiesta Non Valida | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tipo          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Buone pratiche
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/mqtt.html b/v2.8.0/docs/it-rIT/user/mqtt.html deleted file mode 100644 index 505c6b71ad..0000000000 --- a/v2.8.0/docs/it-rIT/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Panoramica
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## Come funziona
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configurazione
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Impostazione     | Descrizione                                                                                   | Predefinito                                         |
- ---------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Indirizzo Server | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username         | Broker authentication                                                                         | meshdev                                             |
- Password         | Broker authentication                                                                         | large4cats                                          |
- Root topic       | Base topic for messages                                                                       | msh                                                 |
- Cifratura        | Encrypt MQTT payload                                                                          | Abilitato                                           |
- ~~JSON Output~~  | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS              | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting    | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descrizione                      |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descrizione                         | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Buone pratiche
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Risoluzione problemi
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/node-metrics.html b/v2.8.0/docs/it-rIT/user/node-metrics.html deleted file mode 100644 index e6868fe45b..0000000000 --- a/v2.8.0/docs/it-rIT/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Metriche Dispositivo
-
-Basic operating information reported by each node:
-
- Metrico           | Descrizione                         |
- ----------------- | ----------------------------------- |
- Battery Level     | Current battery percentage          |
- Tensione          | Battery voltage reading             |
- Utilizzo Canale   | Percentage of airtime consumed      |
- Airtime           | Transmission time used by this node |
- Tempo di attività | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Metriche Ambientali
-
-Environmental sensor data (requires compatible hardware):
-
- Metrico                              | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura                          | BME280, BME680, SHT31 |
- Umidità                              | BME280, BME680, SHT31 |
- Pressione barometrica                | BME280, BMP280        |
- Resistenza Ai Gas                    | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metrico               | Unit      | Descrizione                                                                                                                                                                                                                |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Buono    | < 1000    | Verde    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Rosso    |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metrico       | Descrizione                                                                    |
- ------------- | ------------------------------------------------------------------------------ |
- SNR           | Signal-to-Noise Ratio (higher is better)                    |
- RSSI          | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor   | Local background RF noise in dBm (more negative is quieter) |
- Conteggio Hop | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality  | Criteria                                                         |
- -------- | ---------------------------------------------------------------- |
- Buono    | SNR above the preset's limit                                     |
- Discreto | less than 5.5 dB below the limit                 |
- Scarso   | 5.5 dB to 7.5 dB below the limit |
- Nessuno  | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Metriche Alimentazione
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metrico       | Descrizione             |
- ------------- | ----------------------- |
- Bus Voltage   | Supply voltage          |
- Attuale       | Power draw in milliamps |
- Alimentazione | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Registro Posizione
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitudine
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informazioni Vicinato
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/nodes.html b/v2.8.0/docs/it-rIT/user/nodes.html deleted file mode 100644 index d4cc2a8064..0000000000 --- a/v2.8.0/docs/it-rIT/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodi - - - -
# Nodi
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Ruolo                            | Descrizione                                                                                                                                            |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Base Client                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Nascosto                  | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensore                          | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Rimuovi Nodo
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtro                     | Descrizione                                                                          |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descrizione                                                        |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator               | Screenshot                                                    |
- ----------------------- | ------------------------------------------------------------- |
- Signal quality          | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Livello batteria        | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count               | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Ricevuto più di recente | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distanza                | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/onboarding.html b/v2.8.0/docs/it-rIT/user/onboarding.html deleted file mode 100644 index 56e145c55a..0000000000 --- a/v2.8.0/docs/it-rIT/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Come iniziare - - - -
# Come iniziare
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/settings-module-admin.html b/v2.8.0/docs/it-rIT/user/settings-module-admin.html deleted file mode 100644 index d96382a531..0000000000 --- a/v2.8.0/docs/it-rIT/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Configurazione modulo
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Impostazione    | Descrizione                                                              |
- --------------- | ------------------------------------------------------------------------ |
- Abilitato       | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Cifratura       | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Impostazione | Descrizione                     |
- ------------ | ------------------------------- |
- Abilitato    | Activate serial communication   |
- Echo         | Echo received serial data back  |
- Modalità     | Text, Protobuf, or NMEA output  |
- RX/TX Pins   | GPIO pins for serial connection |
- Baud Rate    | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Impostazione                     | Descrizione                 |
- -------------------------------- | --------------------------- |
- Abilitato                        | Activate notifications      |
- Messaggio di allerta             | Notify on incoming messages |
- Buzzer Messaggio Di Allerta      | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Campanella Di Allarme            | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Attivo                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Impostazione                               | Descrizione                                                                                                                                      |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Abilitato                                  | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Record                                     | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Impostazione                           | Descrizione                       |
- -------------------------------------- | --------------------------------- |
- Abilitato                              | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Impostazione                        | Descrizione                             |
- ----------------------------------- | --------------------------------------- |
- Device Metrics Interval             | How often to report device metrics      |
- Environment Metrics Interval        | How often to report environment sensors |
- Qualità Dell'Aria Abilitata         | Report particulate sensor data          |
- Metriche Di Alimentazione Abilitate | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Impostazione       | Descrizione                                                 |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messaggi           | Newline-separated list of messages                          |
- Invia Campanella   | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Impostazione         | Descrizione                      |
- -------------------- | -------------------------------- |
- Abilitato            | Activate audio module            |
- Codec2 Rate          | Audio quality/bandwidth tradeoff |
- Selezione Parola I2S | GPIO pin for I2S WS              |
- I2S Data In          | GPIO pin for I2S DIN             |
- I2S Data Out         | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Impostazione         | Descrizione                                                     |
- -------------------- | --------------------------------------------------------------- |
- Abilitato            | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Impostazione                           | Descrizione                                                                                                                          |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Abilitato                              | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Trasmettere su LoRa                    | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Impostazione       | Descrizione                                                |
- ------------------ | ---------------------------------------------------------- |
- Stato LED          | Turn the LED on or off                                     |
- Attuale            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Impostazione                             | Descrizione                                                                                                                             |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Abilitato                                | Activate detection sensor                                                                                                               |
- Pin Monitor                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Invia Campanella                         | Include bell character in alerts                                                                                                        |
- Nome Descrittivo                         | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Impostazione                           | Descrizione                |
- -------------------------------------- | -------------------------- |
- Abilitato                              | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Amministrazione
-
-### Amministrazione Remota
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Azzera il database dei nodi
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Riavvia
-
-Remotely reboot a connected or administered node.
-
-### Pannello Di Debug
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/settings-radio-user.html b/v2.8.0/docs/it-rIT/user/settings-radio-user.html deleted file mode 100644 index 431692f149..0000000000 --- a/v2.8.0/docs/it-rIT/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## Impostazioni Utente
-
-### User Profile
-
- Impostazione      | Descrizione                                                                           |
- ----------------- | ------------------------------------------------------------------------------------- |
- Nome Lungo        | Your display name (up to 39 characters)                            |
- Nome Breve        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configurazione
-
-### Configurazione Dispositivo
-
- Impostazione                               | Descrizione                                                             | Predefinito |
- ------------------------------------------ | ----------------------------------------------------------------------- | ----------- |
- Ruolo                                      | Node behavior (Client, Router, etc.) | Client      |
- Modalità Ritrasmissione                    | How the node retransmits messages                                       | Tutti       |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800       |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled    |
-
-### Configurazione LoRa
-
- Impostazione         | Descrizione                                                             | Predefinito                               |
- -------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regione              | Regulatory region for frequency bands                                   | Unset (must configure) |
- Configurazione Modem | Speed/range tradeoff                                                    | LongFast                                  |
- Limite di hop        | Maximum retransmit hops                                                 | 3                                         |
- TX Power             | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Offset Di Frequenza  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth    | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Velocità                  | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0,34 kbps                 | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0,18 kbps                 | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Configurazione Schermo
-
- Impostazione         | Descrizione                                                                          |
- -------------------- | ------------------------------------------------------------------------------------ |
- Timeout Schermo      | Time before display sleeps                                                           |
- Mostra Unità         | Metric or Imperial                                                                   |
- Tipo OLED            | Auto, SSD1306, SH1106, SH1107                                                        |
- Orientamento bussola | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~    | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Configurazione Posizione
-
- Impostazione                              | Descrizione                        |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- Intervallo di aggiornamento GPS           | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Posizione Smart                           | Enable movement-based broadcasting |
- Posizione Fissa                           | Use a manually set position        |
-
-### Configurazione Alimentazione
-
- Impostazione                            | Descrizione                             |
- --------------------------------------- | --------------------------------------- |
- Risparmio energetico                    | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Configurazione Della Rete
-
- Impostazione   | Descrizione                                          |
- -------------- | ---------------------------------------------------- |
- WiFi abilitato | Enable WiFi radio (ESP32 devices) |
- SSID WiFi      | Network name to connect to                           |
- WiFi PSK       | Password di rete                                     |
- Server NTP     | Time synchronization server                          |
- Syslog Server  | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Configurazione Bluetooth
-
- Impostazione            | Descrizione                                                               |
- ----------------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled       | Enable/disable BLE radio                                                  |
- Modalità di abbinamento | Fixed PIN, Random PIN, or No PIN                                          |
- PIN Fisso               | PIN code for pairing (default: 123456) |
-
-### Configurazione Sicurezza
-
- Impostazione              | Descrizione                                                                                                                                                                                                    |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Chiave Pubblica           | Your node's public key (read-only)                                                                                                                                                          |
- Chiave Amministratore     | Key for remote administration                                                                                                                                                                                  |
- Chiave Privata            | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Log di debug              | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Modalità Gestita          | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup chiavi             | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/signal-meter.html b/v2.8.0/docs/it-rIT/user/signal-meter.html deleted file mode 100644 index a882663983..0000000000 --- a/v2.8.0/docs/it-rIT/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------ | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Buono    | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Discreto | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Scarso   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Nessuno  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/tak.html b/v2.8.0/docs/it-rIT/user/tak.html deleted file mode 100644 index a04c3f8ea2..0000000000 --- a/v2.8.0/docs/it-rIT/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Panoramica
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Configurazione
-
-### Prerequisiti
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configurazione
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Impostazione | Descrizione                |
- ------------ | -------------------------- |
- Abilitato    | Activate TAK interop       |
- Modalità     | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Ruolo           | Descrizione                                                                                                                                                                                                                                                                         |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Impostazione | Descrizione                                                                                                      |
- ------------ | ---------------------------------------------------------------------------------------------------------------- |
- Team Color   | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role  | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Caratteristiche                                                                                                                                                                                                    |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Risoluzione problemi
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/telemetry-and-sensors.html b/v2.8.0/docs/it-rIT/user/telemetry-and-sensors.html deleted file mode 100644 index 2a86ea4fd3..0000000000 --- a/v2.8.0/docs/it-rIT/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Panoramica
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Telemetria dispositivo
-
-All Meshtastic nodes report basic device telemetry:
-
- Metrico            | Descrizione                    | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Tensione           | Battery voltage                | 3.0–4.2V (LiPo) |
- Utilizzo Canale    | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Tempo di attività  | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensore | Temperatura | Umidità | Pressione | Note                    |
- ------- | ----------- | ------- | --------- | ----------------------- |
- BME280  | ✓           | ✓       | ✓         | Recommended all-in-one  |
- BME680  | ✓           | ✓       | ✓         | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓       | —         | High accuracy           |
- MCP9808 | ✓           | —       | —         | Precision temperature   |
- LPS22   | —           | —       | ✓         | Pressure only           |
-
-### Air Quality
-
- Sensore  | Metrico                                            | Note                       |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensore  | Metrico                                |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Metriche Alimentazione
-
-Nodes with INA-series power sensors can report:
-
- Metrico       | Descrizione                               |
- ------------- | ----------------------------------------- |
- Bus Voltage   | Supply rail voltage                       |
- Attuale       | Power consumption (mA) |
- Alimentazione | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metrico               | Unit  | Descrizione                  |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Risoluzione problemi
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/translate.html b/v2.8.0/docs/it-rIT/user/translate.html deleted file mode 100644 index 92acc4ee87..0000000000 --- a/v2.8.0/docs/it-rIT/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/units-and-locale.html b/v2.8.0/docs/it-rIT/user/units-and-locale.html deleted file mode 100644 index 418c376e17..0000000000 --- a/v2.8.0/docs/it-rIT/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitudine |
- -------------------------------- | -------------- | ---------------------- | ---------- |
- Metrico                          | 350 m          | 2.5 km | 1,200 m    |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft   |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Velocità
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metrico                          | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vento
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metrico                          | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metrico                          | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Pressione barometrica            | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiazione                       | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Impostazione     | What It Controls | Esempio                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/it-rIT/user/widget.html b/v2.8.0/docs/it-rIT/user/widget.html deleted file mode 100644 index 45bbdb7aba..0000000000 --- a/v2.8.0/docs/it-rIT/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/android-auto.html b/v2.8.0/docs/iw-rIL/user/android-auto.html deleted file mode 100644 index c3d254a1a2..0000000000 --- a/v2.8.0/docs/iw-rIL/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## הודעות
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/app-functions.html b/v2.8.0/docs/iw-rIL/user/app-functions.html deleted file mode 100644 index 7ba3282b10..0000000000 --- a/v2.8.0/docs/iw-rIL/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/connections.html b/v2.8.0/docs/iw-rIL/user/connections.html deleted file mode 100644 index d1bea3f3bf..0000000000 --- a/v2.8.0/docs/iw-rIL/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | תיאור                         |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | מנותק          | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/debug-logs.html b/v2.8.0/docs/iw-rIL/user/debug-logs.html deleted file mode 100644 index afbb3f275a..0000000000 --- a/v2.8.0/docs/iw-rIL/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/desktop.html b/v2.8.0/docs/iw-rIL/user/desktop.html deleted file mode 100644 index 2d003f9f6f..0000000000 --- a/v2.8.0/docs/iw-rIL/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- מפה                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- הגדרות                                       | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/discovery.html b/v2.8.0/docs/iw-rIL/user/discovery.html deleted file mode 100644 index 7b4fec816a..0000000000 --- a/v2.8.0/docs/iw-rIL/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## בדיקת מסלול
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/firmware.html b/v2.8.0/docs/iw-rIL/user/firmware.html deleted file mode 100644 index 2512cc7c38..0000000000 --- a/v2.8.0/docs/iw-rIL/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- ערוץ       | תיאור                                                                      |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/help-and-docs.html b/v2.8.0/docs/iw-rIL/user/help-and-docs.html deleted file mode 100644 index bd8b4d246c..0000000000 --- a/v2.8.0/docs/iw-rIL/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/map-and-waypoints.html b/v2.8.0/docs/iw-rIL/user/map-and-waypoints.html deleted file mode 100644 index 481ce744d3..0000000000 --- a/v2.8.0/docs/iw-rIL/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | תיאור                                                   |
- ---------- | ------------------------------------------------------- |
- שם         | Short identifier (max 29 characters) |
- תיאור      | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- נעול       | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/messages-and-channels.html b/v2.8.0/docs/iw-rIL/user/messages-and-channels.html deleted file mode 100644 index d3e0b8529a..0000000000 --- a/v2.8.0/docs/iw-rIL/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | תיאור                                                                                                                                  |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- שגיאה                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- שגיאה            | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- No Interface     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- No Channel       | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Bad Request      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/mqtt.html b/v2.8.0/docs/iw-rIL/user/mqtt.html deleted file mode 100644 index c5124de3dc..0000000000 --- a/v2.8.0/docs/iw-rIL/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | תיאור                                                                                         | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | תיאור                            |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | תיאור                               | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/node-metrics.html b/v2.8.0/docs/iw-rIL/user/node-metrics.html deleted file mode 100644 index 2dcf5b2325..0000000000 --- a/v2.8.0/docs/iw-rIL/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | תיאור                               |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperature                          | BME280, BME680, SHT31 |
- Humidity                             | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | תיאור                                                                                                                                                                                                                      |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Good     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | תיאור                                                                          |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Good    | SNR above the preset's limit                                     |
- Fair    | less than 5.5 dB below the limit                 |
- Bad     | 5.5 dB to 7.5 dB below the limit |
- None    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | תיאור                   |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## בדיקת מסלול
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/nodes.html b/v2.8.0/docs/iw-rIL/user/nodes.html deleted file mode 100644 index b336806113..0000000000 --- a/v2.8.0/docs/iw-rIL/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | תיאור                                                                                                                                                  |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- פילטר                      | תיאור                                                                                |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | תיאור                                                              |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Last heard     | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- מרחק           | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/onboarding.html b/v2.8.0/docs/iw-rIL/user/onboarding.html deleted file mode 100644 index 4eb76899d1..0000000000 --- a/v2.8.0/docs/iw-rIL/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/settings-module-admin.html b/v2.8.0/docs/iw-rIL/user/settings-module-admin.html deleted file mode 100644 index f172a79924..0000000000 --- a/v2.8.0/docs/iw-rIL/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | תיאור                                                                    |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | תיאור                           |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | תיאור                       |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | תיאור                                                                                                                                            |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | תיאור                             |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | תיאור                                   |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | תיאור                                                       |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- הודעות             | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | תיאור                            |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | תיאור                                                           |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | תיאור                                                                                                                                |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | תיאור                                                      |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | תיאור                                                                                                                                   |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | תיאור                      |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### אתחול מחדש
-
-Remotely reboot a connected or administered node.
-
-### פאנל דיבאג
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/settings-radio-user.html b/v2.8.0/docs/iw-rIL/user/settings-radio-user.html deleted file mode 100644 index ea35a8a12f..0000000000 --- a/v2.8.0/docs/iw-rIL/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | תיאור                                                                                 |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | תיאור                                                                   | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | תיאור                                                                   | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- אזור              | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | תיאור                                                                                |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | תיאור                              |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | תיאור                                   |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | תיאור                                                |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | תיאור                                                                     |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | תיאור                                                                                                                                                                                                          |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/signal-meter.html b/v2.8.0/docs/iw-rIL/user/signal-meter.html deleted file mode 100644 index d9f49740b2..0000000000 --- a/v2.8.0/docs/iw-rIL/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Good  | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Bad   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- None  | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/tak.html b/v2.8.0/docs/iw-rIL/user/tak.html deleted file mode 100644 index 7a469a6266..0000000000 --- a/v2.8.0/docs/iw-rIL/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | תיאור                      |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | תיאור                                                                                                                                                                                                                                                                               |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | תיאור                                                                                                            |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/telemetry-and-sensors.html b/v2.8.0/docs/iw-rIL/user/telemetry-and-sensors.html deleted file mode 100644 index 4612ab47dc..0000000000 --- a/v2.8.0/docs/iw-rIL/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | תיאור                          | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperature | Humidity | Pressure | Notes                   |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | תיאור                                     |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | תיאור                        |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/translate.html b/v2.8.0/docs/iw-rIL/user/translate.html deleted file mode 100644 index 416e3c8f63..0000000000 --- a/v2.8.0/docs/iw-rIL/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/units-and-locale.html b/v2.8.0/docs/iw-rIL/user/units-and-locale.html deleted file mode 100644 index 5c42c0f40d..0000000000 --- a/v2.8.0/docs/iw-rIL/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/iw-rIL/user/widget.html b/v2.8.0/docs/iw-rIL/user/widget.html deleted file mode 100644 index 6c56da9649..0000000000 --- a/v2.8.0/docs/iw-rIL/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/android-auto.html b/v2.8.0/docs/ja-rJP/user/android-auto.html deleted file mode 100644 index e226f5cf2d..0000000000 --- a/v2.8.0/docs/ja-rJP/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic は Android Auto と連携しており、ハンドルから手を、道路から目を離すことなく、運転中もメッシュとつながっていられます。
-
-> ⚠️ **注意:** Android Auto のサポートは、**Google 版の Android ビルドでのみ**利用できます。 F-Droid 版には含まれておらず、デスクトップや iOS でも利用できません。
-
-> ℹ️ **現在提供されている機能:** Google Play 版は、**通知のみ**の車載メッセージング機能を提供します。受信メッセージがヘッドユニットで通知され、その通知コントロールから返信します。 以下で説明する、タブ形式の完全な**メッセージ/ノード/ステータス**体験は、Android Car App Library 上に構築されたベータ版で(Google のテンプレート型車載 UI は現在、Play の Closed/Internal トラックに制限されています)、`-PenableCarTemplates=true` でコンパイルしたビルドにのみ表示されます。 このページの残りの部分では、そのベータ体験について説明します。
-
-## 概要
-
-スマートフォンが Android Auto のヘッドユニット(または開発用の Desktop Head Unit エミュレーター)に接続されると、ベータ版のビルドは、Android Car App Library で構築されたメッセージングアプリとして Meshtastic を表示し、運転中でも安全にひと目で使えるよう最適化された、タブ形式のホーム画面を備えます:
-
-- **メッセージ**:最近の会話。ハンズフリーの読み上げと返信ができます。
-- **ノード**:メッシュのノードリスト。ノード詳細ビューを備えます。
-- **ステータス**:現在の接続とメッシュの状態。
-
-車載アプリは、独自の新しい接続を追加しません。 Meshtastic アプリの既存の接続・ノード・メッセージの状態を使うため、スマートフォンがすでに接続している対象をそのまま反映します。
-
-> ⚠️ **注意:** 車載アプリがライブデータを表示するには、スマートフォンが Meshtastic 無線機に接続されている必要があります。 アプリが切断されている場合、車載画面はその切断状態を反映します。
-
-## メッセージ
-
-メッセージタブには、最近の会話が一覧表示されます。 運転中は、次のことができます:
-
-- **メッセージを読み上げてもらう**ことで、画面を見る必要がなくなります。
-- ヘッドユニットの返信コントロールを使って**音声またはテキストで返信**し、ハンズフリーで応答を音声入力できます。
-
-## ノード
-
-ノードタブには、メッシュのノードリストが車載向けのレイアウトで表示されます。 ノードを選択すると、そのノードの主要な情報を含むノード詳細ビューが開きます。 表示される情報の詳しい意味については、[ノード](nodes) を参照してください。
-
-## ステータス
-
-ステータスタブは、現在の接続とメッシュの状態をひと目で分かるようにまとめます。スマートフォンを開かずに、無線機にまだ接続されているか確認するのに便利です。
-
-## 関連トピック
-
-- [メッセージとチャンネル](messages-and-channels):スマートフォンでの完全なメッセージング機能
-- [ノード](nodes):詳細なノードリストとノード詳細の情報
-- [コネクション](connections):アプリが無線機に接続する方法
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/app-functions.html b/v2.8.0/docs/ja-rJP/user/app-functions.html deleted file mode 100644 index 5b3413a368..0000000000 --- a/v2.8.0/docs/ja-rJP/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - アプリ機能 - - - -
# アプリ機能
-
-アプリ機能は、Android App Functions API を通じて、Meshtastic の機能を Android システムやオンデバイスの AI アシスタント(Gemini など)に公開します。 有効にすると、アシスタントがあなたに代わってメッシュのワークフロー(例:メッセージの送信やメッシュ状態の確認)を見つけて実行でき、アプリを開く必要がありません。
-
-> ⚠️ **注意:** アプリ機能は、**Google 版の Android ビルドでのみ**利用できます。
-
-> ⚠️ **注意:** これは、アプリ内の **Chirpy** アシスタントとは別のものです。 アプリ機能&#x306F;_&#x30B7;ステ&#x30E0;_&#x306E; AI アシスタントがあなたのメッシュを操作できるようにするもので、Chirpy は Meshtastic アプリ内の対話型アシスタントです。
-
-## アプリ機能を有効にする
-
-アプリ機能は「**設定 → システム AI**」から制御します(アプリ内の画面は「System AI」と表示されます)。 この画面には次があります:
-
-- 「**AI のアクセスを許可**」というラベルの**マスタートグル**。サブタイトルは _「システムの AI アシスタント(例:Gemini)がメッシュ機能を見つけて使えるようにする」_ です。 オフの場合、システムには機能が一切公開されません。
-- **各機能ごとの個別トグル**。公開したい機能だけを公開できます。
-
-機能は、**書き込み**セクション(何かを変更したり、メッシュにデータを送信したりする機能)と、**読み取り**セクション(情報を返すだけの機能)に分かれています。
-
-![マスタートグルと機能ごとのトグルを備えたアプリ機能の画面](../../assets/screenshots/app-functions_settings.png)
-
-### 書き込み機能
-
- 機能           | 内容                                                   |
- ------------ | ---------------------------------------------------- |
- **メッセージを送信** | 連絡先(ダイレクトメッセージ)またはチャンネルに、最大 237 バイトのテキストメッセージを送信します。 |
-
-### 読み取り機能
-
- 機能               | 返す内容                |
- ---------------- | ------------------- |
- **メッシュ状態を取得**    | メッシュ全体の状態。          |
- **ノードリストを取得**    | メッシュ上のノードのリスト。      |
- **チャンネル情報を取得**   | チャンネルに関する情報。        |
- **デバイス状態を取得**    | 接続中の無線機の状態。         |
- **ノード詳細を取得**     | 特定のノードに関する詳細情報。     |
- **最近のメッセージを取得**  | 会話からの最近のメッセージ。      |
- **未読の概要を取得**     | 未読メッセージの概要。         |
- **メッシュメトリクスを取得** | メッシュからのテレメトリとメトリクス。 |
-
-## プライバシー
-
-> 🔒 **プライバシー:** 「**メッセージを送信**」機能は、アシスタントがあなたに代わってメッシュにメッセージを送信できるようにします。 アシスタントに使わせても信頼できる機能だけを有効にしてください。 読み取り機能は、ノード・メッセージ・メトリクスのデータをアシスタントに公開します。共有しても差し支えないものだけを有効にしてください。 各機能には独自のトグルがあり、マスタートグルはそれらすべてを一度にオフにします。
-
-## 関連トピック
-
-- [メッセージとチャンネル](messages-and-channels):アプリで直接メッセージを送信する
-- [ノード](nodes):読み取り機能が参照するノードリスト
-- [ノードメトリクス](node-metrics):「メッシュメトリクスを取得」の背後にあるテレメトリ
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/connections.html b/v2.8.0/docs/ja-rJP/user/connections.html deleted file mode 100644 index 773faa79d5..0000000000 --- a/v2.8.0/docs/ja-rJP/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - コネクション - - - -
# コネクション
-
-Meshtastic は、スマートフォン/デスクトップと無線機ノード間の通信に複数の接続方式をサポートしています。
-
-## Bluetooth(BLE)
-
-Bluetooth Low Energy は、Android で標準的かつ最も一般的な接続方法です。
-
-### デバイスをペアリングする
-
-1. Meshtastic 無線機の電源が入っていて、ペアリングモードになっていることを確認します。
-2. アプリを開き、「**接続**」タブに移動します。
-3. 「**Bluetooth デバイスをスキャン**」をタップすると、近くの Meshtastic 無線機が表示されます。
-4. リストからデバイスを選択します。
-5. Bluetooth のペアリング確認が表示されたら承認します。
-
-![Bluetooth デバイスをスキャンし、見つかった無線機がリストに表示されている様子](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **ヒント:** デバイスが表示されない場合は、Bluetooth と位置情報の権限が許可されているか、また無線機が別のデバイスにすでに接続されていないかを確認してください。
-
-### 接続ステータス
-
- アイコン | 状態  | 説明             |
- ---- | --- | -------------- |
- 🟢   | 接続済 | 無線リンクが確立しています  |
- 🟡   | 接続中 | ハンドシェイク中       |
- 🔴   | 切断  | 接続がありません       |
- ⚪    | 未設定 | デバイスが選択されていません |
-
-接続時には、ステータスインジケーターが現在の接続状態を表示します:
-
-![接続中のステータス](../../assets/screenshots/connections_connecting.png)
-
-デバイスが見つからない場合、アプリは操作手順とともに空の状態を表示します:
-
-![デバイスが見つからない状態](../../assets/screenshots/connections_empty_state.png)
-
-### Bluetooth のトラブルシューティング
-
-- **デバイスが見つからない:** Bluetooth をオフ/オンし、位置情報が有効になっていることを確認します。
-- **接続が切れる:** 無線機に近づき、電波干渉がないか確認します。
-- **ペアリングが拒否される:** Android の Bluetooth 設定でデバイスの登録を解除し、やり直します。
-
-## USB シリアル
-
-USB 接続は有線での代替手段で、デスクトップや Bluetooth が使えない場合に便利です。
-
-### セットアップ
-
-1. USB ケーブルで無線機をデバイスに接続します。
-2. アプリが USB の使用許可を求めるので、「**許可**」をタップします。
-3. 接続が自動的に確立されます。
-
-> ⚠️ **注意:** USB 接続には、Android デバイスの OTG 対応が必要です。
-
-## TCP/IP(ネットワーク)
-
-一部の Meshtastic 無線機は WiFi/Ethernet 接続に対応しており、ローカルネットワーク経由の TCP 接続が可能です。 まず、無線機自身の WiFi 設定(ファームウェアのウェブインターフェースや別の接続方法を使用)で無線機をネットワークに接続し、その後アプリから接続します。
-
-### ネットワーク経由で接続する
-
-1. 無線機がスマートフォン/デスクトップと同じローカルネットワーク上にあることを確認します。
-2. On the Connect screen, select **Network** in the transport selector.
-3. 無線機は次の 2 通りの方法で選べます:
-   - **ネットワークデバイスをスキャン**:これをオンにすると、ローカルネットワーク上で自身を告知している無線機(mDNS / `_meshtastic._tcp`)を自動的に探索します。 見つかったデバイスがリストに表示されるので、タップして接続します。
-   - **デバイスを手動で追加…**:無線機の IP アドレス(またはホスト名)とポート(既定:`4403`)を入力します。
-4. 以前使用したネットワークアドレスは「**最近のネットワークデバイス**」に記憶され、すばやく再接続できます(長押しで削除できます)。
-
-> 💡 **ヒント:** ネットワーク探索は mDNS を使用するため、両方のデバイスが同じサブネット上にある場合にのみ機能します。 Android 17 以降では、スキャンにローカルネットワークの権限が必要です。探索で何も見つからない場合は、IP アドレスでデバイスを手動追加してください。
-
-### TCP を使う場面
-
-- 無線機が同じローカルネットワーク上にある
-- シミュレートされた無線機でテストする
-- Bluetooth の電波干渉が問題になる環境
-
-## 再接続の動作
-
-アプリは起動時に「**最後に選択したデバイス**」へ再接続します。 接続方式は、接続画面からいつでも切り替えられます。
-
-切断するには、接続画面の切断ボタンをタップします:
-
-![無線機から切断](../../assets/screenshots/connections_disconnect.png)
-
-## デスクトップでの接続
-
-デスクトップ(Linux/macOS/Windows)では、アプリは次の接続方式に対応しています:
-
-- **Bluetooth(BLE):** Kable ライブラリを使用。macOS、Linux、Windows で動作します
-- **USB シリアル:** 主要な有線接続方法
-- **TCP/IP:** ネットワーク接続された無線機向け
-
-プラットフォームごとの詳細やキーボードショートカットについては、[デスクトップアプリ](desktop) を参照してください。
-
-## 関連トピック
-
-- [はじめに](onboarding):初回起動時のセットアップと権限
-- [設定:無線機とユーザー](settings-radio-user):Bluetooth とネットワークの設定
-- [デスクトップアプリ](desktop):デスクトップ固有の接続に関する詳細
-- [対応デバイス](https://meshtastic.org/docs/hardware/devices):meshtastic.org にある互換無線機の一覧
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/debug-logs.html b/v2.8.0/docs/ja-rJP/user/debug-logs.html deleted file mode 100644 index 37f0aa6e09..0000000000 --- a/v2.8.0/docs/ja-rJP/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - デバッグログ - - - -
# デバッグログ
-
-何か不具合が起きたとき、アプリのデバッグログは、バグ報告に添付できる最も役立つものです。 Meshtastic は、**アプリ内で自動的に**ログをキャプチャできます。収集に `adb` やデスクトップのツールは不要になりました。
-
-「**設定 → 詳細設定 → デバッグパネル**」から「**デバッグパネル**」を開きます。
-
-> 📎 **issue を作成しますか?** ログをエクスポートし(下記参照)、[github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues) の報告に `.txt` ファイルを添付してください。 問題が起きた瞬間を含むログのキャプチャは、「動かない」という報告を、開発者が実際に追跡できるものに変えます。
-
-## 2 つのタブ
-
-デバッグパネルには 2 つのタブがあります:
-
-- **パケット**:無線機が送受信した、デコード済みのメッシュトラフィック(プロトコルレベルのメッセージ)。 メッシュやルーティングの動作を診断するのに役立ちます。
-- **アプリログ**:アプリ自身の診断ログ(Android の _logcat_)。アプリからの警告、エラー、スタックトレースを含みます。 通常、バグ報告に必要なのはこちらです。
-
-各タブには独自の**エクスポート**ボタンがあり、それぞれ別のファイルを生成するため、関連する方を、または両方を取得できます。
-
-## アプリログを表示する
-
-「**アプリログ**」タブは、**このアプリのみ**の最新のログ行を表示します。デバイス上の他のアプリのものは表示しません。
-
-- **検索**:検索ボックスに入力すると、一致する行に絞り込めます。
-- **レベルフィルター**:**V/D/I/W/E** のチップで、Verbose、Debug、Info、Warn、Error の行を切り替えます。 レベルをタップすると非表示になり、もう一度タップすると再表示されます。 Fatal の行は常に表示されます。
-- **更新**:更新アイコンで最新のログを読み直します。
-
-エラーと警告の行は色付けされ、問題が目立つようになっています。
-
-## エクスポート
-
-**ダウンロード**アイコンをタップすると、現在のログをファイルに保存できます。 保存先はシステムのファイル選択画面で選び、ファイルにはタイムスタンプ付きの名前(例:`meshtastic_logcat_20260701_143312.txt`)が付くため、繰り返しエクスポートしても互いに上書きされることはありません。
-
-そのファイルを GitHub の issue に添付してください。
-
-> 🔒 **プライバシー:** エクスポートは、ファイルに書き込む前に、秘密鍵・管理者鍵・セッションパスキーを自動的に**秘匿化**します。 チャンネルの PSK は**秘匿化されません**。また、ログにはノード名、位置、その他の識別情報が含まれることがあります。公開して共有する前にファイルにざっと目を通し、少しでも不安があれば非公開で共有してください。
-
-## デスクトップ
-
-デスクトップアプリにはシステムの logcat がないため、「**アプリログ**」タブは代わりに、アプリ自身がキャプチャしたログ出力を表示します。 検索、絞り込み、エクスポートは同じように機能します。
-
-## 関連トピック
-
-- [ヘルプとアプリ内ドキュメント](help-and-docs):このドキュメントをアプリ内でオフラインで読む
-- [コネクション](connections):そもそも無線機に接続できないことが問題の場合
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/desktop.html b/v2.8.0/docs/ja-rJP/user/desktop.html deleted file mode 100644 index 8d84d280af..0000000000 --- a/v2.8.0/docs/ja-rJP/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - デスクトップアプリ - - - -
# デスクトップアプリ
-
-Meshtastic デスクトップアプリケーションは、Kotlin Multiplatform を通じて、コアのコードベースを Android と共有しています。 ほとんどの機能は、Linux、macOS、Windows で同じように動作します。
-
-## インストール
-
-### Linux
-
-- リリースページから `.deb` または `.AppImage` パッケージをダウンロードします
-- または、`./gradlew :desktopApp:run` を使ってソースからビルドします
-
-### macOS
-
-- リリースから `.dmg` パッケージをダウンロードします
-- または、ソースからビルドします
-
-### Windows
-
-- リリースから `.msi` インストーラーをダウンロードします
-- または、ソースからビルドします
-
-## 無線機を接続する
-
-### USB シリアル(主要)
-
-デスクトップで最も信頼できる接続方法です:
-
-1. USB ケーブルで Meshtastic 無線機を接続します。
-2. アプリがシリアルポートを自動的に検出します。
-3. 検出されない場合は、接続メニューから正しいシリアルポートを選択します。
-
-### TCP/IP
-
-ネットワーク接続された無線機の場合:
-
-1. 無線機の IP アドレスとポート(既定:4403)を入力します。
-2. 「**接続**」をクリックします。
-
-### Bluetooth(BLE)
-
-Bluetooth Low Energy は、[Kable](https://github.com/JuulLabs/kable) ライブラリを通じてデスクトップでサポートされています:
-
-1. システムに Bluetooth アダプターがあることを確認します。
-2. アプリが近くの Meshtastic 無線機を自動的にスキャンします。
-3. 接続画面からデバイスを選択します。
-
-## 機能の対応状況
-
- 機能                | Android | デスクトップ | 備考                                                   |
- ----------------- | ------- | ------ | ---------------------------------------------------- |
- メッセージング           | ✓       | ✓      | 完全対応                                                 |
- ノードリスト            | ✓       | ✓      | 完全対応                                                 |
- マップ               | ✓       | ◐      | マップタブはデスクトップにも存在しますが、インタラクティブなマップビューは Android のみです   |
- 設定                | ✓       | ✓      | 完全対応                                                 |
- Bluetooth(BLE)    | ✓       | ✓      | デスクトップでは Kable 経由                                    |
- ファームウェアの更新        | ✓       | ✓      | アプリ内の USB、BLE、Wi-Fi(ESP32)更新はすべて、Android と同じように動作します |
- 通知                | ✓       | ✓      | OS ネイティブの通知                                          |
- ウィジェット            | ✓       | ✗      | Android のみ                                           |
- Android Auto      | ✓       | ✗      | Android のみ。デスクトップや iOS では利用できません                     |
- AI アシスタント(Chirpy) | ✓\*     | ✗      | Google 版の Android のみ                                 |
- アプリ機能(システム AI)    | ✓†      | ✗      | Google 版の Android のみ                                 |
-
-\*Chirpy AI には、対応ハードウェアを備えた Google 版ビルドで Android 14 以降が必要です。
-
-†アプリ機能は、Google 版ビルドで、アプリの操作を Android のシステム AI に公開します。 [アプリ機能](app-functions) を参照してください。
-
-## UI の違い
-
-デスクトップアプリは、同じ Compose Multiplatform の UI を使用し、大きな画面とデスクトップ操作に合わせて調整されています。
-
-### キーボードショートカット
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- ショートカット      | 操作           |
- ------------ | ------------ |
- **⌘/Ctrl+Q** | アプリケーションを終了  |
- **⌘/Ctrl+,** | 設定を開く        |
- **⌘/Ctrl+1** | メッセージタブに切り替え |
- **⌘/Ctrl+2** | ノードタブに切り替え   |
- **⌘/Ctrl+3** | マップタブに切り替え   |
- **⌘/Ctrl+4** | 接続タブに切り替え    |
- **⌘/Ctrl+/** | バージョン情報を開く   |
-
-### ウィンドウとシステムトレイ
-
-- **ウィンドウのサイズ変更**:レスポンシブなレイアウトがウィンドウの寸法に合わせて調整されます
-- **システムトレイ**:システムトレイに最小化して、バックグラウンドでメッシュを動作させます
-- **トレイメニュー**:トレイアイコンを右クリックして、ウィンドウ表示または終了します
-- **マウス操作**:ホバー状態と標準的なデスクトップのナビゲーション
-
-### 通知の設定
-
-デスクトップアプリには、どの通知を表示するか(メッセージ、新しいノード、バッテリー低下の警告)を制御するアプリ内トグルがあります。 これらには、アプリ内の「**設定 → 通知**」からアクセスします。
-
-## 組み込みのドキュメントブラウザー
-
-デスクトップアプリには、アプリケーションを離れることなくヘルプコンテンツにすばやくアクセスできる、組み込みのドキュメントブラウザーが含まれています。
-
-![目次付きのドキュメントブラウザー](../../assets/screenshots/docs-browser_toc.png)
-
-ブラウザーは、すべてのドキュメントを対象とした全文検索に対応しています:
-
-![ドキュメントブラウザーの検索](../../assets/screenshots/docs-browser_search.png)
-
-個々のドキュメントページは、完全な書式で表示されます:
-
-![ドキュメントページ](../../assets/screenshots/docs-browser_page.png)
-
-## ソースからビルドする
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-要件:
-
-- JDK 21
-- デスクトップのみのビルドに Android SDK は不要です
-
-## 既知の制限
-
-- インタラクティブなマップビューは Android のみです。マップタブは存在しますが、デスクトップではマップが表示されません。
-- 一部の Android 固有の機能(ウィジェット、特定の通知チャンネル)は利用できません
-- Compose Desktop を実行する低スペックのハードウェアでは、パフォーマンスが変わることがあります
-- デスクトップでは BLE のボンディングはまだサポートされていません(ペアリングはボンディングなしで機能します)
-
-## 関連トピック
-
-- [コネクション](connections):接続方法の概要
-- [ファームウェア更新](firmware):USB、BLE、Wi-Fi 更新はすべて、Android と同じように動作します
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/discovery.html b/v2.8.0/docs/ja-rJP/user/discovery.html deleted file mode 100644 index 3bef84f46d..0000000000 --- a/v2.8.0/docs/ja-rJP/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - 探索 - - - -
# 探索
-
-探索ツールは、メッシュネットワークが**どのように**つながっているか(どのノードが互いに受信できるか、メッセージがどの経路を通るか、ボトルネックや弱いリンクがどこにあるか)を把握するのに役立ちます。
-
-アプリは、互いを補完する 2 つの方法を提供します:
-
-- **ローカルメッシュ探索(スキャナー)**:接続中の無線機をさまざまな LoRa プリセットで順に切り替え、それぞれで受信し、あなたの場所でどのプリセットが最も性能が良いかをランク付けする自動モードです。
-- **手動での探索**:ルート追跡、隣接ノード情報、ノードリスト。特定の経路やトポロジーを調べるために、いつでも使えます。
-
--------------- | ----------------------------------------------------------------------------------------------------- |
- **LoRa プリセットの選択** | スキャンするプリセットを 1 つ以上選択します。 探索は、選択した各プリセットに順番に滞在します。                                                     |
- **滞在時間**          | 各プリセットで受信する時間。 1、5、15、30、45、60、90、120、180 分から選択します。 滞在時間を長くすると、より多くのパケットを収集してより明確な状況が分かりますが、時間もかかります。 |
- **画面をスリープさせない**   | 長いスキャン中に画面がスリープするのを防ぐ、任意のトグルです。                                                                       |
-
-「**開始**」ボタンは、スキャンを実行できるようになるまで(理由の説明とともに)無効のままです。 無効になる主な理由:
-
-- デバイスが**接続されていない**。
-- スキャンする**プリセットが選択されていない**。
-- 選択したプリセットが、ハードウェアが対応していない **2.4 GHz** を使用している。
-
-### リアルタイムの進行状況
-
-スキャンの実行中、探索は現在の段階を表示します:
-
- 段階                                               | 実行中の内容                                            |
- ------------------------------------------------ | ------------------------------------------------- |
- **準備中**                                          | 現在の構成を保存し、スキャンの準備をしています。                          |
- **\<preset\> に切り替え中** | テストする次のプリセットに無線機を切り替えています。                        |
- **再接続中**                                         | プリセット変更後に接続を再確立しています。                             |
- **滞在**                                           | 現在のプリセットで受信してパケットを収集しており、次のステップまでのカウントダウンが表示されます。 |
- **分析**                                           | 収集したパケットを処理し、プリセットをランク付けしています。                    |
- **復元中**                                          | 元の LoRa 構成に戻しています。                                |
-
-![現在のプリセットの残り時間を示す滞在のカウントダウン](../../assets/screenshots/discovery_dwell_progress.png)
-
-### 結果の見方
-
-スキャンが完了すると、探索はテストした各プリセットのプリセット別の結果カードと、全体の概要を表示します。
-
-![ランキングと収集したメトリクスを含むプリセット別の結果カード](../../assets/screenshots/discovery_preset_result.png)
-
-メトリクスには次が含まれます:
-
- メトリクス      | 分かること                              |
- ---------- | ---------------------------------- |
- RF の健全性    | そのプリセットにおける無線環境の総合的な品質。            |
- チャンネル利用率   | 滞在中に電波がどれだけ混雑していたか。                |
- 電波利用時間     | 観測された送信時間。                         |
- 直接受信と中継ノード | 直接受信できたメッシュノードと、中継経由のノードの数。        |
- 不良/重複パケット  | 破損したパケットと繰り返されたパケットの数で、輻輳や干渉を示します。 |
-
-結果から利用できる追加機能:
-
-- **スキャン履歴**:後で見直せる保存済みのセッション。過去のスキャンを表示または削除できます。
-- **探索マップ**:スキャン中に見つかったノードのマップ。
-- **レポートのエクスポート**:Android では PDF として、他のプラットフォームではテキストとしてレポートをエクスポートします。
-
-> 💡 **ヒント:** Android では、探索が結果のオンデバイス AI 要約(Gemini Nano)を生成できます。 オンデバイスのモデルが利用できない場合は、代わりにアルゴリズムによる要約が使われるため、常にスキャンの読みやすい解釈が得られます。
-
-## 手動での探索
-
-以下のツールは、ノードリストとノードの詳細画面からいつでも利用できます。 完全なスキャンと併用して、またはその代わりに、特定の経路を調べてトポロジーの全体像を組み立てるのに使えます。
-
-## ルート追跡
-
-ルート追跡は、メッセージが自分のノードから、メッシュ上の他の任意のノードへ通る正確な経路を明らかにします。 接続の問題をデバッグするのに、最も役立つツールです。
-
-### ルート追跡を実行する
-
-1. 「**ノード**」に移動し、追跡したいノードをタップします。
-2. ノードの詳細画面で、「**ルート追跡**」をタップします。
-3. アプリがルート追跡の要求を送信し、応答を待ちます。
-4. 結果には、各ホップが順番に、各段階の信号品質とともに表示されます。
-
-### 結果の見方
-
-ルート追跡の結果は次のように表示されます:
-
-```
-自分 → ノード A (SNR: 8.5, RSSI: -95) → ノード B (SNR: 5.2, RSSI: -108) → ターゲット
-```
-
-各ホップは、メッセージを転送した中継ノードを表します。 各ホップの SNR と RSSI の値から、その特定の区間のリンク品質が分かります。
-
- 確認すべき点                         | 意味                                   |
- ------------------------------ | ------------------------------------ |
- すべてのホップが良い SNR(−7 dB 以上、緑)を示す  | 健全な経路。メッセージが確実に流れます                  |
- 1 つのホップが悪い SNR(−15 dB 未満、赤)を示す | 弱いリンク。この中継区間は脆弱です                    |
- ホップ数が多い(4 以上)                  | 長い経路。短くするためにノードの再配置を検討してください         |
- 再試行で経路が変わる                     | メッシュが適応しています。複数の経路が存在します(これは良いことです!) |
-
-> 💡 **ヒント:** ルート追跡を数分間かけて何度か実行してください。 経路が変わる場合、メッシュには冗長な経路があり、よくつながったネットワークの兆候です。
-
-### ルート追跡によるトラブルシューティング
-
-- **「経路が見つかりません」**:対象のノードがオフラインか、圏外か、別のチャンネルにいる可能性があります。 両方のノードが、同じ暗号化鍵を持つチャンネルを少なくとも 1 つ共有しているか確認してください。
-- **ルート追跡がタイムアウトする**:経路が長すぎる(ホップ数上限を超える)か、中継ノードが混雑している可能性があります。 「**設定 → LoRa 設定**」でホップ数上限を増やしてみてください。
-- **非対称な経路**:A→B のルート追跡は、B→A とは異なる経路を通ることがあります。 これは正常です。電波の伝搬は常に対称とは限りません。
-
-## 探索ツールとしてのノードリスト
-
-ノードリスト自体も、絞り込みと並べ替えの機能を効果的に使えば、強力な探索ツールになります。
-
-### 新しいノードを見つける
-
-- 「**最後の通信**」で並べ替えると、最近アクティブだったノードが先頭に表示されます。
-- 「**不明なノードを含む**」を有効にすると、メッシュに現れたもののまだユーザー情報を送信していないノードが表示されます。これらは、電源を入れたばかりのデバイスであることがよくあります。
-
-### 接続性を評価する
-
-- 「**ホップ数**」で並べ替えると、直接到達できるノード(0 ホップ)と中継されるノードが分かります。
-- 「**距離**」で並べ替えると、近くのノードを見つけて、到達できるか確認できます。
-- 「**MQTT を除外**」を使うと、(インターネットブリッジ経由ではなく)無線で到達できるノードに絞り込めます。
-
-### インフラの監査
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- 信号品質と最後の通信時刻を確認して、インフラのノードが健全であることを確かめます。
-
-絞り込みと並べ替えのオプションの詳細については、[ノード](nodes) を参照してください。
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/firmware.html b/v2.8.0/docs/ja-rJP/user/firmware.html deleted file mode 100644 index f1c702dd41..0000000000 --- a/v2.8.0/docs/ja-rJP/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - ファームウェア更新 - - - -
# ファームウェア更新
-
-新機能、バグ修正、セキュリティ改善のために、Meshtastic 無線機を最新のファームウェアに保ちましょう。
-
-## 更新を確認する
-
-1. 接続中の無線機の設定を開き、「**詳細設定**」で「**ファームウェア更新**」をタップします。 この項目は、OTA に対応したデバイスでのみ表示されます。
-2. アプリが、利用可能なファームウェアバージョンを確認します。
-3. 利用可能な更新には、バージョン番号と変更履歴の概要が表示されます。
-
-## 更新方法
-
-### Bluetooth 経由の OTA(無線更新)
-
-Android ユーザーにとって最も一般的な更新方法です:
-
-1. 無線機が Bluetooth で接続されていることを確認します。
-2. ファームウェア更新画面に移動します。
-3. 希望するファームウェアバージョンを選択します。
-4. 「**更新**」をタップして OTA 処理を開始します。
-5. 更新が完了するまで待ちます。更新中は**接続を切断しないでください**。
-
-![ファームウェアの更新を確認中](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **警告:** ファームウェア更新を中断すると、デバイスが起動不能になることがあります。 無線機のバッテリーが十分にある(50% 以上を推奨)ことを確認し、処理の間ずっと Bluetooth の通信範囲内に置いてください。
-
-![ファームウェアの免責事項](../../assets/screenshots/firmware_disclaimer.png)
-
-### アプリ内での USB 更新
-
-無線機が(Bluetooth ではなく)**USB/シリアル**で接続されている場合、ファームウェア更新画面に「**USB ファイル転送**」が表示されます。 アプリはデバイスを DFU モードで再起動し、システムのファイル選択画面を使って `.uf2` ファイルをデバイスの DFU ドライブに保存するよう促します。 このオプションは USB/シリアル接続でのみ表示され、Bluetooth では利用できません。
-
-> ℹ️ **nRF ブートローダーに関する注意:** 一部のデバイス(例:RAK WisBlock RAK4631)では、ベンダーのシリアル DFU ツール(`adafruit-nrfutil` など)でブートローダーを書き込む必要があります。`.uf2` をコピーするだけではブートローダーは更新されません。 これに該当する場合、アプリがヒントを表示します。
-
-### その他の書き込み方法
-
-復旧時、または OTA とアプリ内 USB のどちらも使えない場合:
-
-- [Meshtastic Web Flasher](https://flasher.meshtastic.org) を使用する
-- または、デスクトップで [Meshtastic CLI ツール](https://meshtastic.org/docs/getting-started/flashing-firmware) を使用する
-
-## バージョンチャンネル
-
- チャンネル    | 説明                                      |
- -------- | --------------------------------------- |
- 安定版      | ほとんどのユーザーに推奨。テスト済みのリリース                 |
- アルファ版    | プレビューリリース。バグを含む場合があります                  |
- ローカルファイル | ダウンロードしたリリースではなく、自分で選んだファームウェアファイルを書き込む |
-
-## 更新前のチェックリスト
-
-更新する前に:
-
-- [ ] バッテリー 50% 以上
-- [ ] 安定した Bluetooth 接続
-- [ ] 現在の設定を控えておく(メジャーバージョンの変更時にリセットされることがあります)
-- [ ] 破壊的変更がないか、リリースノートを確認する
-
-## 更新後
-
-ファームウェアの書き込み後、アプリは更新を検証し、デバイスが再びオンラインになるのを待ちます:
-
-![更新を検証し、デバイスの再接続を待っている様子](../../assets/screenshots/firmware_verifying.png)
-
-更新が成功すると:
-
-- 無線機が自動的に再起動します
-- Bluetooth 接続が再確立されます
-- 設定が保持されているか確認します
-- ファームウェア更新画面の「**現在インストール済み**」で新しいバージョンを確認します。バージョンは、ノードの詳細ページや接続画面にも表示されます
-
-![ファームウェア更新の成功](../../assets/screenshots/firmware_success.png)
-
-## トラブルシューティング
-
-### 更新が止まる
-
-更新が固まったように見える場合:
-
-- 手を加える前に、少なくとも 5 分待つ
-- 本当に止まっている場合は、無線機の電源を入れ直す
-- もう一度更新を試みる
-
-![ファームウェア更新のエラー](../../assets/screenshots/firmware_error.png)
-
-### 更新後にデバイスが起動しない
-
-デバイスが起動しない場合:
-
-1. USB でコンピューターに接続してみる
-2. リカバリー/DFU モードで Web Flasher を使用する
-3. 動作確認済みのファームウェアバージョンを書き込む
-4. デバイス固有の復旧手順については、Meshtastic の Discord を確認する
-
-### 互換性の警告
-
-次の場合、アプリが警告を表示することがあります:
-
-- 接続中の無線機のファームウェアが、対応する最小バージョンを下回っている
-- アプリとファームウェアの間でメジャーバージョンが一致していない
-- 非推奨の機能に移行が必要
-
-> ⚠️ **重要:** 互換性を確保するため、ファームウェア更新の前、または同時に、必ず Meshtastic アプリを更新してください。
-
-## 関連トピック
-
-- [コネクション](connections):ファームウェア更新後の再接続
-- [ファームウェア書き込みガイド](https://meshtastic.org/docs/getting-started/flashing-firmware):meshtastic.org にあるファームウェア書き込みの完全な手順
-- [対応デバイス](https://meshtastic.org/docs/hardware/devices):デバイスごとのファームウェア互換性を確認
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/help-and-docs.html b/v2.8.0/docs/ja-rJP/user/help-and-docs.html deleted file mode 100644 index 41453617aa..0000000000 --- a/v2.8.0/docs/ja-rJP/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - ヘルプとアプリ内ドキュメント - - - -
# ヘルプとアプリ内ドキュメント
-
-このユーザードキュメントは**アプリ内**にも同梱されており、Meshtastic を離れることなくオフラインで読めます。 「**設定 → ヘルプとドキュメント**」から開きます。
-
-## 閲覧する
-
-ドキュメントブラウザーには、ユーザーガイドのすべてのページが一覧表示されます。 ページをタップすると読めます。画像や相互リンクも、ここと同じように機能します。
-
-![アプリ内ドキュメントブラウザーの目次](../../assets/screenshots/docs-browser_toc.png)
-
-### 検索
-
-検索アイコンをタップして入力すると、タイトルとキーワードでページを絞り込めます。結果は入力に応じて更新されます。
-
-![アプリ内ドキュメントの検索](../../assets/screenshots/docs-browser_search.png)
-
-ブラウザーで開いたページ:
-
-![アプリ内で表示されたドキュメントページ](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy:AI アシスタント
-
-**Chirpy** は、この同梱ドキュメントを情報源として、Meshtastic に関する平易な質問に答えます。 ドキュメントブラウザーで Chirpy ボタンをタップして質問を入力すると、回答と、関連ページへのリンクが返ってきます。
-
-![ページリンク付きで質問に答える Chirpy AI アシスタント](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **プライバシー:** 対応する Google 版のデバイスでは、Chirpy は Gemini Nano を使って**オンデバイス**で動作します。質問がスマートフォンの外に出ることはありません。 初回使用時に、小さなモデルがダウンロードされます。
-
-> ⚠️ **注意:** F-Droid 版、デスクトップ版、iOS 版では、Chirpy は生成モデルではなく、ドキュメントに対する**キーワード検索**にフォールバックします。 デバイスがオンデバイス AI に対応していない場合、アシスタントは非表示になり、ドキュメントの閲覧と検索は通常どおり行えます。
-
-## 関連トピック
-
-- [アプリを翻訳する](translate):これらのページが他の言語にどう翻訳されるか
-- [アプリ機能](app-functions):Chirpy とは別の、システム AI 連携
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/map-and-waypoints.html b/v2.8.0/docs/ja-rJP/user/map-and-waypoints.html deleted file mode 100644 index afaea0e26f..0000000000 --- a/v2.8.0/docs/ja-rJP/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - マップとウェイポイント - - - -
# マップとウェイポイント
-
-マップ画面には、メッシュ上のノードの地理的な位置が、共有されたウェイポイントとともに表示されます。
-
-## マップビュー
-
-マップには次のものが表示されます:
-
-- **ノードの位置:** 位置を報告している各ノードの色付きマーカー
-- **ウェイポイント:** 共有された注目地点
-- **自分の位置:** 現在の GPS 位置
-
-### ノードのマーカー
-
-位置を報告している各ノードは、そのノードの短縮名を表示する**ノードチップ**マーカーとして表示されます。 チップは、そのノード固有のアイデンティティカラー(ノード番号から導かれる一定の色)で色付けされます。ノードリストで使われるのと同じチップなので、どこでも同じ見た目になります。 マーカーの色は、オンライン/オフラインの状態を**表しません**。 ノードの位置がライブで更新されると、そのマーカーが短く脈打つように点滅します。 縮小すると、近くのマーカーはまとめて表示(クラスタリング)されます。
-
-### マップの操作
-
-- **ズーム:** ピンチ操作、または +/− ボタンを使います
-- **移動:** ドラッグして見て回ります
-- **中央に配置:** 位置ボタンを選ぶと、自分の位置を中央に表示します
-- **ノードのタップ:** ノードのマーカーをタップすると詳細を表示します
-
-フローティングツールバーから、コンパス、レイヤーの切り替え、ノードの絞り込み、更新、位置追跡にすばやくアクセスできます。 コンパスをタップすると北を上に向け直し、位置ボタンをタップすると現在の位置を中央に表示します。
-
-![マップ操作のオーバーレイ](../../assets/screenshots/map_controls_overlay.png)
-
-## ウェイポイント
-
-ウェイポイントは、メッシュの全メンバーが見られる、共有された地理的な注目地点です。
-
-### ウェイポイントを作成する
-
-1. マップ上の目的の場所を長押しします。
-2. 名前と、任意で説明を入力します。
-3. ウェイポイントのアイコン/絵文字を選びます。
-4. 「**送信**」をタップしてメッシュに共有します。
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### ウェイポイントのプロパティ
-
- プロパティ  | 説明                          |
- ------ | --------------------------- |
- 名前     | 短い識別子(最大 29 文字)             |
- 説明     | 任意の、より詳しい説明                 |
- アイコン   | マップ上の視覚的なマーカー絵文字            |
- ロック済み  | ロックすると、作成者だけが編集・削除できます      |
- 有効期限   | 任意の、自動削除する日時                |
- ジオフェンス | 任意の、進入/退出を通知するエリア。詳しくは後述します |
-
-### ウェイポイントの有効期限
-
-ウェイポイントは、自動的に期限切れになるよう設定できます:
-
-- **なし**(デフォルト):手動で削除するまでウェイポイントは残ります
-- **期限付き**:特定の日時を指定します。その時刻を過ぎると、ウェイポイントは自動的に削除されます。 集合地点、危険箇所、待ち合わせ場所などの一時的なマーカーに便利です。
-
-期限切れのウェイポイントは、表示が煩雑にならないよう、自動的にマップから隠されます。 有効期限のカウントダウンは、指定した絶対時刻を基準とし、ウェイポイントが作成または受信されてからの経過時間ではありません。
-
-### ウェイポイントのジオフェンス
-
-どのウェイポイントにも**ジオフェンス**(通知エリア)を設定できます。これにより、ノードがそのエリアに進入または退出したときに、あなたや他のメンバーに通知が届きます:
-
-1. プリセットのチップから**ジオフェンスの半径**を設定する(無効にするには**オフ**)か、「**マップ上でエリアを設定**」をタップして、任意の四角形のエリアを描画します。
-2. エリアを設定したら、「**進入時に通知**」や「**退出時に通知**」を切り替えます。
-3. 任意で「**お気に入りのみ**」を有効にすると、通知をお気に入りのノードに限定できます。
-
-ウェイポイント(およびそのジオフェンス)はメッシュ全体にブロードキャストされるため、デフォルトでは**作成者**だけに通知されます。 他の人がジオフェンス付きのウェイポイントを共有した場合、その詳細ビューに「**通過を通知する**」というオプトインが表示され、あなたも進入/退出の通知を受け取れます。
-
-### ウェイポイントを管理する
-
-- マップ上のウェイポイントをタップすると、その詳細と座標を表示します
-- 自分が作成したウェイポイントを編集または削除できます
-- **ロックされたウェイポイント**は、他のノードから変更・削除できません。元の作成者だけが変更できます
-- ロックされていないウェイポイントは、どのメッシュメンバーでも編集できます
-
-## マップレイヤー
-
-マップのレイヤーアイコンをタップすると「**マップレイヤーの管理**」が開き、`.kml`、`.kmz`、または GeoJSON 形式の独自のオーバーレイをインポートできます。Meshtastic でファイルを開くか、別のアプリからアプリに共有することでインポートします。 インポートしたレイヤーは、それぞれ表示/非表示を切り替えるトグルと、削除するオプションとともに一覧表示されます。 これは Google Play 版と F-Droid 版の両方で利用できます。
-
-### サイトプランナー
-
-**サイトプランナー**は、送信機の RF カバレッジを推定し、色分けされたオーバーレイとしてマップに描画します。 マップの操作から開くか、ノードの詳細ページから「**カバレッジを推定**」で開きます(位置が判明しているノードでのみ表示されます)。 送信機(位置、周波数、送信出力、アンテナ利得と高さ)、受信機(感度、高さ)、シミュレーションのオプション(最大範囲、高解像度の地形、カラーパレット)を設定してから、推定を実行します。 マップレイヤーと同様に、サイトプランナーも Google Play 版と F-Droid 版の両方で動作します。
-
-## 位置の共有
-
-### 位置の共有を有効にする
-
-ノードは、次のいずれかに基づいて GPS 位置を共有します:
-
-- **固定間隔:** 一定間隔で位置をブロードキャストします
-- **スマート位置:** 移動がしきい値を超えたときにブロードキャストします
-- **手動:** 明示的に要求されたときのみ共有します
-
-位置の動作は「**設定 → 位置**」で設定します。
-
-### プライバシーに関する注意
-
-> 🔒 **プライバシー:** 位置データは、チャンネル上のすべてのノードにブロードキャストされます。 位置を共有したくない場合は、設定で GPS 位置を無効にするか、固定/ダミーの位置を使用してください。
-
-## マップソース
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- 衛星画像(利用可能な場合)
-- オフラインタイル(オフラインで使うためにマップのエリアをダウンロード)
-
-## 関連トピック
-
-- [ノード](nodes):ノードリストの表示と絞り込み
-- [ノードメトリクス](node-metrics):各ノードの信号品質と位置履歴
-- [探索](discovery):メッシュのトポロジーを把握するためのルート追跡と隣接ノード情報
-- [単位とロケール](units-and-locale):距離と座標の表示形式
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/messages-and-channels.html b/v2.8.0/docs/ja-rJP/user/messages-and-channels.html deleted file mode 100644 index 3a6878dc99..0000000000 --- a/v2.8.0/docs/ja-rJP/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - メッセージとチャンネル - - - -
# メッセージとチャンネル
-
-Meshtastic は、**チャンネルブロードキャスト**と**ダイレクトメッセージ**の 2 つの通信モードをサポートしています。
-
-## チャンネル
-
-チャンネルは、共有された通信グループです。 同じチャンネル鍵を設定したすべてのノードが、そのチャンネルでメッセージを読み書きできます。
-
-### デフォルトチャンネル
-
-すべての Meshtastic デバイスには、デフォルトの **LongFast** チャンネルが用意されています。 これは、一般的なメッシュ通信に使われる暗号化されていないチャンネルです。
-
-### チャンネルのセキュリティ
-
-チャンネルは複数の暗号化レベルに対応しています:
-
- アイコン | セキュリティレベル        | 説明                                                                     |
- ---- | ---------------- | ---------------------------------------------------------------------- |
- 🔒   | PSK(256 ビット AES) | 強力な事前共有鍵で完全に暗号化されます。 一致する鍵を持つノードだけがメッセージを読めます。                         |
- 🔐   | PSK(128 ビット AES) | より短い鍵で暗号化されます。 ほとんどの用途で安全ですが、機密性の高いデータには 256 ビットが推奨されます。               |
- 🔓   | デフォルト/オープン       | よく知られたデフォルトの鍵を使用します。 同じプリセットの**あらゆる Meshtastic デバイス**が、これらのメッセージを読めます。 |
- ⚠️   | 非セキュア+位置情報       | GPS 位置情報も一斉送信するオープンチャンネルです。 公開メッシュでは注意して使用してください。                      |
-
-> 🔒 **セキュリティのヒント:** プライベートな通信には、必ず固有の PSK を設定してください。 デフォルトチャンネルは、新規ユーザーがメッシュを見つけられるよう意図的にオープンになっています。ただし、機密性の高い内容には別途、暗号化されたチャンネルを作成してください。
-
-### チャンネルを追加する
-
-1. 「**設定 → チャンネル**」に移動します。
-2. 「**チャンネルを追加**」をタップするか、QR コードをスキャンします。
-3. チャンネル名と暗号化鍵を設定します。
-4. アクセスが必要な相手に、チャンネルの URL/QR コードを共有します。
-
-チャンネルをタップすると、その詳細と共有オプションが表示されます。
-
-## ダイレクトメッセージ
-
-ダイレクトメッセージ(DM)は、特定の 2 つのノード間で行われる、ポイントツーポイントの暗号化通信です。
-
-### ダイレクトメッセージを送信する
-
-1. 「**メッセージ**」タブを開きます。
-2. 連絡先リストからノードを選択するか、ノードリストでノードをタップします。
-3. メッセージを入力し、「**送信**」をタップします。
-
-### メッセージの状態
-
-ステータスラベルは、**自分が**送信したメッセージの下にのみ表示されます(他のユーザーからの受信メッセージにはステータスラベルは表示されません):
-
- 状態                   | 意味                                                                         |
- -------------------- | -------------------------------------------------------------------------- |
- 送信中…                 | キューに入っているか、すでに無線機に渡された状態で、まだどちらとも確定していません(キュー内と送信中のどちらも同じ表示になります)          |
- 受信者に配信済み             | ダイレクトメッセージで最も確実な確認です。受信確認が返ってきています                                         |
- メッシュに配信済み            | チャンネルブロードキャストでは、メッセージがメッシュに届いたことを示します(ブロードキャストには受信者ごとの確認応答はありません)          |
- 中継済み、受信者による確認なし      | ダイレクトメッセージでは警告色で表示されます。メッセージは中継されましたが、まだ受信確認が返ってきていません                     |
- SF++ チェーン経由でルーティング中… | Store & Forward Plus Plus チェーンによってルーティング/バッファリングされています |
- SF++ チェーンで確認済み       | SF++ チェーン経由で配信が確認されました                                                     |
- エラー                  | 配信に失敗しました。具体的な理由はステータスをタップして確認してください(下記の「配信エラー」を参照)                        |
-
-### 配信エラー
-
-メッセージの配信に失敗すると、エラーインジケーターが何が問題だったかを示します:
-
- エラー            | 意味                          | 対処方法                                                                     |
- -------------- | --------------------------- | ------------------------------------------------------------------------ |
- ルートなし          | 宛先ノードへの経路が存在しません            | 受信者がオフラインか、メッシュの範囲外の可能性があります。 時間をおくか、距離を縮めてください。                         |
- NAK を受信        | 次のホップのノードが中継を拒否しました         | 中継ノードが混雑している可能性があります。 しばらく待ってから再試行してください。                                |
- タイムアウト         | 再試行の時間内に受信確認がありませんでした       | 受信者がちょうど範囲外にいる可能性があります。 ホップ数上限を増やすか、より良い場所に移動してみてください。                   |
- インターフェースがありません | 送信に使える無線インターフェースがありません      | 無線機が接続され、チャンネルが設定されているか確認してください。                                         |
- 最大再送回数         | すべての再試行を使い切りました             | メッシュ経路が不安定です。 別のチャンネルを試すか、状況が改善するのを待ってください。                              |
- チャンネルがありません    | 宛先のチャンネルが存在しません             | 両方のノードが同じチャンネル設定を共有しているか確認してください。                                        |
- サイズ超過          | メッセージが最大ペイロードサイズを超えています     | メッセージを短くしてください(最大約 200 文字)。                                              |
- 応答なし           | ノードはメッセージを受信しましたが、応答しませんでした | 受信者の無線機が処理中か、低電力のスリープモードの可能性があります。                                       |
- デューティサイクル制限    | 地域ごとの電波利用時間の上限に達しました        | 無線機が許可された送信時間を使い切りました。 デューティサイクルの期間がリセットされるまで待ってください(EU リージョンでは通常 1 時間)。 |
- 不正な要求          | 不正な形式または無効なメッセージです          | 通常はソフトウェアの不具合を示します。 アプリを再起動してみてください。                                     |
-
-> 💡 **ヒント:** ほとんどの配信エラーは自然に解消します。 ノードに断続的に到達できる場合、メッシュは再試行します。 「ルートなし」エラーが続く場合は、中間のルーターノードがオンラインになっているか確認してください。
-
-## メッセージの機能
-
-### クイックチャット
-
-すばやくやり取りするための、あらかじめ設定されたメッセージです:
-
-- メッセージ入力欄のクイックチャットボタンから利用できます
-- 組み込みの定型文またはカスタムメッセージから選べます
-- クイックチャットのメッセージは「**設定 → クイックチャット**」でカスタマイズできます
-- 入力が難しい場面(手袋の着用、小さな画面、急いでいるとき)に便利です
-
-![クイックチャットのオプション](../../assets/screenshots/messages_quick_chat.png)
-
-各クイックチャット項目には、短い**名前**(ボタンのラベル)、挿入される**メッセージ**、そして**即時送信**トグルがあります。有効にすると、ボタンをタップした時点で、メッセージが入力欄に置かれて編集できる状態になるのではなく、すぐに送信されます:
-
-![名前・メッセージ・即時送信トグルを備えた新規クイックチャットのダイアログ](../../assets/screenshots/messages_edit_quick_chat.png)
-
-チャンネルリストには、各チャンネルが最新メッセージのプレビューとともに表示されます。
-
-### メッセージを検索する
-
-チャット画面から、どの会話でもその全履歴を直接検索できます:
-
-1. 会話(チャンネルまたはダイレクトメッセージ)を開きます。
-2. 上部バーの**検索アイコン**をタップします。
-3. 「**メッセージを検索…**」欄に入力します。 検索は入力に応じて、その会話に保存されているすべてのメッセージを対象に実行されます。
-4. **N/M** の結果カウンターと**前へ/次への矢印**を使って、一致箇所間を移動できます。一致箇所は会話内でハイライト表示されます。
-
-![結果カウンターと前へ/次への矢印を備えたメッセージ検索バー](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **ヒント:** 検索は全文検索で、開いた会話の中だけを対象とします。他のチャンネルや連絡先をまたいで検索することはありません。 デバイスにすでに保存されているメッセージを対象に照合するため、完全にオフラインで動作します。
-
-### メッセージの吹き出し
-
-メッセージはチャットの吹き出しとして表示され、送信メッセージは右側、受信メッセージは左側に並びます。 各吹き出しには、送信者・タイムスタンプ・配信状況が表示されます。 返信付きのメッセージでは、応答の上に元メッセージの引用プレビューが表示されます。
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- 種別            | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### メンション
-
-メッセージ作成中に `@` を入力するとノードにメンションできます。入力に応じて、一致する連絡先がピッカーに提案されます。 受信メッセージでは、メンションはノード名を表示したハイライト付きのチップとして現れます。タップすると、そのノードの詳細ページに直接移動できます。
-
-### リアクション
-
-絵文字でメッセージにリアクションできます:
-
-- メッセージを**長押し**すると操作メニューが開きます
-- 「**リアクションを追加**」をタップして絵文字を選びます
-- リアクションはメッセージの吹き出しの下に表示されます
-- 複数のユーザーが同じメッセージにリアクションできます
-- 自分のメッセージにも、他の人のメッセージにもリアクションできます
-
-![メッセージの下に表示された絵文字リアクションのバッジ](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **ヒント:** リアクションは軽量で、通常のテキストメッセージに比べてメッシュの帯域をほとんど消費しません。
-
-### メッセージの操作
-
-任意のメッセージを長押しすると、次の操作を利用できます:
-
-- **コピー:** メッセージのテキストをクリップボードにコピーします
-- **返信:** そのメッセージを引用して返信します
-- **リアクション:** 絵文字のリアクションを追加します
-- **翻訳:** 受信メッセージをデバイスの言語に翻訳し、原文と翻訳を切り替えます(Google Play 版のみ。オンデバイス翻訳を使用します)
-- **削除:** 自分が送信したメッセージを削除します(端末内での削除)
-
-### メッセージの優先度
-
-メッセージは優先度に基づいてキューに入れられ、送信されます:
-
-1. 緊急/警報メッセージ(最高)
-2. ダイレクトメッセージ
-3. チャンネルブロードキャスト(最低)
-
-### メッセージの制限
-
-- **最大長:** 200 バイト(ASCII テキストで約 200 文字)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **レート制限:** メッシュは電波利用時間の公平性を確保するため、大量のメッセージは制限されることがあります
-- **配信:** 受信確認がない場合、メッセージは自動的に再送されます
-
-## ベストプラクティス
-
-- グループでの連携にはチャンネルを使います
-- 個人間のプライベートな通信にはダイレクトメッセージを使います
-- メッセージは短くしてください。メッシュの帯域は限られています
-- 機密性の高い通信には暗号化を設定します
-
-## 関連トピック
-
-- [ノード](nodes):ノードをタップするとダイレクトメッセージを開始できます
-- [設定:無線機とユーザー](settings-radio-user):チャンネルの暗号化とプリセットを設定します
-- [MQTT](mqtt):チャンネルのメッセージをインターネットに橋渡しします
-- [チャンネル設定](https://meshtastic.org/docs/configuration/radio/channels):meshtastic.org にある詳細なチャンネル設定
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/mqtt.html b/v2.8.0/docs/ja-rJP/user/mqtt.html deleted file mode 100644 index 4c89492923..0000000000 --- a/v2.8.0/docs/ja-rJP/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT は、Meshtastic のメッシュネットワークをインターネットに橋渡しし、無線の到達範囲を超えた長距離通信を可能にします。
-
-## 概要
-
-MQTT モジュールは、ノードを MQTT サーバーに接続し、次のことを可能にします:
-
-- インターネット経由で、物理的に異なるメッシュ上のノードにメッセージを届ける
-- ホームオートメーションや監視システムとの連携
-- ノードの位置を公開の Meshtastic マップに公開する
-- ログ記録や通知のためのカスタムデータパイプライン
-
-## 仕組み
-
-```
-[自分のノード] → 無線 → [WiFi 付きゲートウェイノード] → MQTT サーバー → [リモートゲートウェイ] → 無線 → [リモートノード]
-```
-
-インターネットに接続されたゲートウェイノード(WiFi または Ethernet)が、メッシュのメッセージを MQTT トピックに公開します。 同じトピックを購読しているリモートのゲートウェイが、それらのメッセージを自分のローカルメッシュに取り込みます。
-
-## 設定
-
-### MQTT を有効にする
-
-1. 「**設定 → モジュール設定 → MQTT**」に移動します。
-2. MQTT モジュールを有効にします。
-3. サーバーへの接続を設定します:
-
-![MQTT のトグルスイッチ](../../assets/screenshots/settings_switch.png)
-
- 設定項目        | 説明                                                        | デフォルト                                               |
- ----------- | --------------------------------------------------------- | --------------------------------------------------- |
- サーバーアドレス    | MQTT サーバーのホスト名                                            | mqtt.meshtastic.org |
- ユーザー名       | サーバーの認証                                                   | meshdev                                             |
- パスワード       | サーバーの認証                                                   | large4cats                                          |
- ルートトピック     | メッセージのベーストピック                                             | msh                                                 |
- 暗号化         | MQTT ペイロードを暗号化                                            | 有効                                                  |
- ~~JSON 出力~~ | ⚠️ **非推奨**:JSON パケットのサポートはファームウェアから削除されました。このフィールドは無視されます | 無効                                                  |
- TLS         | サーバーへのセキュアな接続                                             | 無効                                                  |
- マップ報告       | 公開マップに位置を報告                                               | 無効                                                  |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### デフォルトの Meshtastic サーバー
-
-コミュニティが `mqtt.meshtastic.org` で公開サーバーを運用しています。 これは一般的な利用やテストを目的としています。
-
-> ℹ️ **注意:** `mqtt.meshtastic.org` への接続は、TLS のトグルがオフでも常に TLS(ポート 8883)を使用します。 それ以外のサーバーでは、TLS は有効にした場合にのみ使用されます(TLS ありはポート 8883、なしは 1883)。
-
-> 🔒 **プライバシー:** 公開サーバー上のメッセージは、購読している誰もが読めます。 プライベートな通信には、必ずチャンネルの暗号化を使用してください。
-
-### プライベートサーバー
-
-プライバシーと制御を高めるために、独自の MQTT サーバーを運用できます:
-
-- Mosquitto(軽量、オープンソース)
-- HiveMQ
-- EMQX
-
-適切な認証情報を設定して、ノードがプライベートサーバーに接続するよう構成します。
-
-## マップ報告
-
-マップ報告を有効にすると、ノードは自分の位置を Meshtastic のコミュニティマップに公開します:
-
-- [meshmap.net](https://meshmap.net) や、同様のコミュニティマップサービスで表示されます
-- 共有されるのは位置とノード情報のみです
-- 位置を公開したくない場合は、これを無効にしてください
-
-## アップリンクとダウンリンク
-
- 方向         | 説明                      |
- ---------- | ----------------------- |
- **アップリンク** | メッシュ → MQTT サーバーへのメッセージ |
- **ダウンリンク** | MQTT サーバー → メッシュへのメッセージ |
-
-メッセージの流れと電波利用時間を制御するため、どの方向を有効にするかをチャンネルごとに設定します。
-
-## メッセージ形式
-
-MQTT は protobuf のメッセージ形式を使用します:
-
- 形式           | 説明                              | 用途           |
- ------------ | ------------------------------- | ------------ |
- **Protobuf** | バイナリの Meshtastic protobuf エンコード | ノード間のメッシュ橋渡し |
-
-> ⚠️ **注意:** JSON 出力のサポートはファームウェアから削除されました。 `json_enabled` の設定は、以前との互換性のためにアプリ上には表示されますが、現在のファームウェアバージョンには影響しません。
-
-## 暗号化とプライバシー
-
-階層化された暗号化モデルを理解する:
-
-1. **チャンネルの暗号化**は、MQTT &#x306E;_&#x524D;&#x306B;_&#x30E1;ッシュ上で行われます。 チャンネルに PSK が設定されている場合、MQTT ペイロードはすでに暗号化されています。サーバーや購読者には暗号文しか見えません。
-2. **MQTT の暗号化**(モジュールの設定)は、サーバーへの転送のために追加の暗号化レイヤーを加えます。 これはメタデータやルーティング情報を保護します。
-3. **TLS** はサーバーへの TCP 接続自体を暗号化し、ネットワークレベルの盗聴を防ぎます。
-
-> 🔒 **重要:** デフォルトの公開チャンネルは、よく知られた鍵を使用しています。 デフォルトチャンネルで MQTT 経由で送信されるメッセージは、実質的に**暗号化されていません**。誰でも解読できます。 プライベートな通信には、必ずカスタムの PSK を使用してください。
-
-## ベストプラクティス
-
-- MQTT に橋渡しするチャンネルでは、チャンネルレベルの暗号化(PSK)を使用します
-- インターネットに接続できないノードでは MQTT を有効にしないでください(バッファリングしてメモリを浪費します)
-- 機密性の高い運用にはプライベートサーバーを使用します
-- 混雑した MQTT トピックからメッセージをダウンリンクする際は、電波利用時間に注意してください。ダウンリンクされたメッセージはすべて、ローカルメッシュの無線の電波利用時間を消費します
-- メッセージを送り返さず、リモートでメッシュを監視するだけでよい場合は、アップリンクのみを有効にすることを検討してください
-
-## トラブルシューティング
-
-### MQTT が接続できない
-
-- **WiFi を確認:** ゲートウェイノードには、有効なインターネット接続(WiFi または Ethernet)が必要です。 MQTT は LoRa の無線リンク自体では動作しません。
-- **認証情報を確認:** ユーザー名やパスワードが正しくないと、ほとんどのサーバーでは何も表示されずに失敗します。 末尾のスペースがないか、よく確認してください。
-- **ファイアウォール:** ポート 1883(MQTT)または 8883(MQTT+TLS)が開いている必要があります。 一部のネットワークは、標準外のポートをブロックします。
-- **DNS 解決:** カスタムのサーバーホスト名を使う場合は、ノードがそれを解決できるか確認してください。 サーバーの IP アドレスを直接試してみてください。
-
-### メッセージが橋渡しされない
-
-- **アップリンク/ダウンリンクの設定を確認:** アップリンクのみが有効な場合、メッセージはメッシュから MQTT へ流れますが、戻ってきません。 受信側のゲートウェイでダウンリンクを有効にしてください。
-- **チャンネルの不一致:** 両方のゲートウェイが、同じ PSK を持つ同じチャンネルを共有している必要があります。 不一致の場合、メッセージは異なる鍵で暗号化され、判読できないデータとして表示されます。
-- **トピックの不一致:** 両方のゲートウェイが同じルートトピックを使用しているか確認してください。 デフォルトの `msh` は公開サーバーで機能します。
-
-## 関連トピック
-
-- [設定:モジュールと管理](settings-module-admin):MQTT モジュールの設定リファレンス
-- [メッセージとチャンネル](messages-and-channels):チャンネルの暗号化と PSK の設定
-- [MQTT 連携ガイド](https://meshtastic.org/docs/software/integrations/mqtt):meshtastic.org にある詳細な MQTT ドキュメント
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/node-metrics.html b/v2.8.0/docs/ja-rJP/user/node-metrics.html deleted file mode 100644 index fccb2d8344..0000000000 --- a/v2.8.0/docs/ja-rJP/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - ノードメトリクス - - - -
# ノードメトリクス
-
-ノードの詳細画面では、メッシュ上の各ノードについて、包括的なテレメトリとメトリクスを確認できます。
-
-## デバイスメトリクス
-
-各ノードが報告する基本的な動作情報です:
-
- メトリクス       | 説明             |
- ----------- | -------------- |
- バッテリー残量     | 現在のバッテリー残量(%)  |
- 電圧          | バッテリー電圧の測定値    |
- チャンネル全体の利用率 | 消費した電波利用時間の割合  |
- 電波利用時間      | このノードが使用した送信時間 |
- 連続稼働時間      | 前回の再起動からの経過時間  |
-
-デバイスメトリクスは、バッテリー残量・電圧・チャンネル利用率・電波利用時間・連続稼働時間の推移を示すトレンドのスパークライン付きの個別カードとして表示されます。
-
-> 💡 **ヒント:** メトリクスカードをタップすると、履歴データ点を含む詳細なグラフに展開できます。 時間軸はピンチ操作で拡大縮小できます。
-
-## 環境メトリクス
-
-環境センサーのデータです(対応ハードウェアが必要):
-
- メトリクス    | センサーの例                |
- -------- | --------------------- |
- 温度       | BME280, BME680, SHT31 |
- 湿度       | BME280, BME680, SHT31 |
- 大気圧      | BME280, BMP280        |
- ガス抵抗     | BME680                |
- IAQ(大気質) | BME680                |
-
-環境メトリクスは、傾向を分析しやすいよう時系列でグラフ化されます。温度・湿度・気圧はそれぞれ独立した折れ線グラフになり、測定単位が Y 軸に表示されます。
-
-BME680 の \*\*IAQ(室内空気質)\*\*指数は、ガス抵抗から算出される 0〜500+ の単一の値で、_非常に良い_ から _危険なほど汚染_ までの色分けされたスケールで表示されます:
-
-![「非常に良い」から「危険なほど汚染」までの IAQ 指数スケール](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **ヒント:** 環境メトリクスには、リモートノードに接続されたセンサーが必要です。 すべてのノードが環境データを報告するわけではありません。 対応センサーの一覧については、[テレメトリとセンサー](telemetry-and-sensors) を参照してください。
-
-## 大気質メトリクス
-
-大気質は、粒子状物質センサーや CO₂ センサーを搭載したノード向けの専用メトリクスビューです。 これは、環境メトリクスに記載されている **BME680 の IAQ の測定値とは別のもの**です。IAQ はガス抵抗から算出される単一の指数であるのに対し、大気質ビューはその基となる粒子状物質と CO₂ の測定値をグラフ化します。
-
- メトリクス                 | 単位      | 説明                                                                                                                             |
- --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
- PM1.0 | µg/m³   | 1.0 ミクロンまでの粒子状物質                                                                                               |
- PM2.5 | µg/m³   | 2.5 ミクロンまでの粒子状物質                                                                                               |
- PM10                  | µg/m³   | 10 ミクロンまでの粒子状物質                                                                                                                |
- AQI                   | EPA 指数  | 最近の PM2.5 の履歴から算出される EPA の **NowCast** AQI で、色分けされた深刻度ラベルが付きます。 十分な測定値が蓄積されると、PM2.5 の横に表示されます。 |
- CO₂                   | ppm     | 二酸化炭素の濃度                                                                                                                       |
- CO₂ 温度                | °C / °F | CO₂ センサー自体が報告する温度(例:SCD4x)                                                                                                     |
- CO₂ 湿度                | %       | CO₂ センサーが報告する相対湿度                                                                                                              |
-
-CO₂ の測定値は、大気質をひと目で把握できるよう、深刻度に応じて色分けされます:
-
- 区分     | CO₂ の範囲(ppm)                     | 色    |
- ------ | -------------------------------- | ---- |
- 良      | < 1000  | 緑    |
- 空気がこもる | < 2000  | 黄色   |
- 不良     | < 5000  | オレンジ |
- 危険     | < 30000 | 赤    |
- 退避     | ≥ 30000                          | 濃い赤  |
-
-![CO₂ の深刻度が色分けされた大気質の測定値](../../assets/screenshots/node-metrics_air_quality.png)
-
-大気質のログ/メトリクスボタンは、**ノードが大気質のテレメトリを報告したときにのみ**、ノードの詳細画面に表示されます。 大気質ビューでは、次のことができます:
-
-- グラフの**期間**を選択します。
-- **メトリクスチップ**で絞り込みます。データがあるメトリクスのみが表示されます。
-- 最新の大気質テレメトリを**更新/要求**します。
-- 表計算ソフトで分析できるよう、**CSV にエクスポート**します。
-
-> 💡 **ヒント:** 大気質メトリクスには、リモートノードに対応する大気質センサーが必要です。 ノードに粒子状物質センサーや CO₂ センサーがない場合、大気質ボタンは表示されません。 対応ハードウェアについては、[テレメトリとセンサー](telemetry-and-sensors) を参照してください。
-
-## 信号メトリクス
-
-無線信号の品質に関する情報です:
-
- メトリクス  | 説明                                   |
- ------ | ------------------------------------ |
- SN比    | 信号対ノイズ比(高いほど良い)                      |
- RSSI   | 受信信号強度インジケーター(0 に近いほど良い)             |
- ノイズフロア | ローカルの背景 RF ノイズ(dBm、値が小さい(負が大きい)ほど静か) |
- ホップ数   | 直前のメッセージのメッシュホップ数                    |
-
-### 信号品質の目安
-
-信号品質は、固定のしきい値ではなく、**現在の LoRa モデムプリセットの復調限界に対する SNR** で評価されます。同じ SNR でもプリセットによって意味が異なります(例:−15 dB は LongSlow では問題ありませんが、ShortFast では使い物になりません)。 RSSI は表示されますが、評価には含まれません。 `limit` をプリセットの SNR 限界とすると:
-
- 品質 | 基準                                                    |
- -- | ----------------------------------------------------- |
- 良  | SNR がプリセットの限界を上回る                                     |
- 普通 | 限界より 5.5 dB 未満低い                      |
- 不良 | 限界より 5.5 dB〜7.5 dB 低い |
- なし | 限界より 7.5 dB を超えて低い                    |
-
-詳しい説明は、[信号メーターを理解する](signal-meter) を参照してください。
-
-接続中の無線機のローカル統計も、利用可能な場合は信号品質に表示されます。 これらのログには、ノイズフロア、トラフィックカウンター、中継カウンター、オンラインノード数、無線機の連続稼働時間が含まれます。 ノイズフロアのグラフでは、混雑した RF 環境を見分けやすいよう、-85 dBm に破線の基準線が引かれます。 「**要求**」で接続中の無線機に最新のローカル統計テレメトリレポートを要求し、「**消去**」でそのノードのローカル統計ログを削除し、「**保存**」で表示中のローカル統計の履歴を CSV としてエクスポートします。
-
-## 電力メトリクス
-
-電力管理のテレメトリです(INA センサーまたは対応ハードウェアが必要):
-
- メトリクス | 説明           |
- ----- | ------------ |
- バス電圧  | 供給電圧         |
- 電流    | 消費電流(ミリアンペア) |
- 電力    | 計算されたワット数    |
-
-## ルート追跡
-
-ルート追跡は、メッセージがメッシュ内を通る経路を表示します:
-
-1. ノードの詳細画面で、「**ルート追跡**」をタップします。
-2. アプリが対象のノードにルート追跡の要求を送信します。
-3. 結果には、各ホップが SNR/RSSI の値とともに表示されます。
-
-### ルート追跡の結果の見方
-
-```
-自分 → ノード A (SNR: 8.5) → ノード B (SNR: 5.2) → ターゲット
-```
-
-各ホップは、メッセージを転送した中継ノードを表します。
-
-## 位置ログ
-
-位置情報を共有しているノードの、過去の位置データです:
-
-- GPS 座標
-- 標高
-- 速度(移動中の場合)
-- 各位置報告のタイムスタンプ
-
-## 隣接ノード情報
-
-あるノードが直接受信できるノードを表示します。メッシュのトポロジーを把握するのに役立ちます。
-
-## メトリクスを表示する
-
-1. 「**ノード**」に移動します。
-2. 確認したいノードをタップします。
-3. 詳細タブからメトリクスのカテゴリを選択します。
-
-![ノードの詳細:ローカルデバイス](../../assets/screenshots/nodes_detail_local.png)
-
-位置タブには、GPS を共有しているノードの位置データが表示されます:
-
-![位置のインラインコンテンツ](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **注意:** メトリクスは、リモートノードが報告した場合にのみ利用できます。 メトリクスは、各ノードのテレメトリ設定で構成された間隔で更新されます。
-
-## 関連トピック
-
-- [ノード](nodes):ノードリスト、絞り込み、並べ替え
-- [テレメトリとセンサー](telemetry-and-sensors):対応センサーと設定
-- [信号メーター](signal-meter):SNR と RSSI から信号品質を計算する方法
-- [探索](discovery):ルート追跡の詳細と隣接ノード情報
-- [単位とロケール](units-and-locale):温度・距離・速度の表示形式
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/nodes.html b/v2.8.0/docs/ja-rJP/user/nodes.html deleted file mode 100644 index a065a560f9..0000000000 --- a/v2.8.0/docs/ja-rJP/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - ノード - - - -
# ノード
-
-ノード画面には、メッシュネットワーク上で見えているすべてのデバイスが表示されます。
-
-## ノードリスト
-
-ノードリストには、無線機が受信したすべてのノードが、次の情報とともに表示されます:
-
-- **ノード名:** ユーザーが設定した正式名称
-- **短縮名:** 4 文字の識別子
-- **信号品質:** 最後に受信したときの信号強度
-- **最後の通信:** 最後に通信してからの経過時間
-- **距離:** 推定距離(位置情報が共有されている場合)
-- **バッテリー:** リモートノードのバッテリー残量(テレメトリが有効な場合)
-
-### ノードのステータス表示
-
- バッジ      | 意味                 |
- -------- | ------------------ |
- 🟢 オンライン | 過去 2 時間以内に受信したノード  |
- ⚪ オフライン  | 2 時間を超えて受信していないノード |
- ⭐ お気に入り  | ユーザーがお気に入りに設定したノード |
-
-ノードは、過去 2 時間以内に受信していれば**オンライン**、そうでなければ**オフライン**とみなされます。「離席中」のような中間の段階はありません。
-
-### ノードの役割
-
-ノードには、メッシュ上での動作に影響するさまざまな役割を設定できます:
-
- 役割              | 説明                                                                                                    |
- --------------- | ----------------------------------------------------------------------------------------------------- |
- クライアント          | 標準的なエンドユーザーのデバイス                                                                                      |
- クライアント・ベース      | お気に入りノードの通信をルーター・レイトの優先度で扱い、それ以外の通信はクライアントとして扱います                                                     |
- クライアント・ミュート     | 受信しますが、再送信はしません                                                                                       |
- クライアント・非表示      | クライアント・ミュートと同様で、さらにノードリストから隠れます                                                                       |
- ルーター            | メッセージの転送を優先し、中継のために起動し続けます                                                                            |
- ルーター・レイト        | 1 回だけ再送信するインフラノードですが、他のすべてのモードの後にのみ行います(補助的なカバレッジを提供します)                                              |
- ~~ルーター・クライアント~~ | ⚠️ **非推奨**(ファームウェア 2.3.15 で削除)。選択できなくなりました。代わりにルーターまたはクライアントを使用してください |
- ~~リピーター~~       | ⚠️ **非推奨**(ファームウェア 2.7.11 で削除)。選択できなくなりました。代わりにルーターを使用してください          |
- トラッカー           | 一定間隔での位置報告に最適化されています                                                                                  |
- センサー            | テレメトリ報告に最適化されています                                                                                     |
- TAK             | TAK システムと相互運用します(CoT を送受信)                                                                            |
- TAK Tracker     | TAK の位置報告のみ                                                                                           |
- ロスト&ファウンド       | 回収のために位置を継続的に発信します                                                                                    |
-
-### 役割を選ぶ
-
-ほとんどのユーザーは、デフォルトの**クライアント**役割のままにしてください。 次のような場合は、別の役割を検討してください:
-
-- **ルーター:** 電源が安定した、固定された高所(屋上、丘の上など)にノードを設置している場合。 ルーターは他のノードのメッセージを中継するために常に起動し続け、メッシュのカバレッジ拡大に不可欠です。 バッテリー駆動のハンドヘルドデバイスではルーターを使用しないでください。
-- **ルーター・レイト:** パケットを常に 1 回だけ再送信するインフラノードですが、他のすべてのルーティングモードの番が終わった後にのみ行います。 主要なルーターと競合することなく、ローカルのクラスターに補助的なカバレッジを提供します。
-- **クライアント・ベース:** お気に入りノードとの間の通信をルーター・レイトの優先度で扱い(それらのメッセージが追加の中継カバレッジを得られるようにします)、それ以外はすべて通常のクライアントとして処理します。
-- **クライアント・ミュート:** メッシュの通信を受信したいが、中継には貢献したくない場合。 監視専用のデバイスや、混雑した地域での輻輳軽減に便利です。
-- **トラッカー:** GPS 位置の発信だけを目的とする無人デバイス(車両、ペット、資産など)。 発信の合間はスリープしてバッテリーを節約します。
-- **センサー:** 環境テレメトリ(気温、湿度、大気質)を報告する無人デバイス。 電力プロファイルはトラッカーと同様です。
-- **TAK/TAK Tracker:** ATAK/WinTAK システムと相互運用する場合にのみ必要です。 詳しくは [TAK 連携](tak) を参照してください。
-
-> 💡 **ヒント:** メッシュは、ほとんどのノードが**クライアント**または**ルーター**のときに最も良く機能します。 ミュートノードが多すぎるとメッシュの耐障害性が低下し、混雑した地域にルーターが多すぎると輻輳を招くことがあります。 目安としては、地域内のクライアント 5〜10 台につきルーター 1 台です。
-
-### 暗号化の表示
-
-ノードは、名前の横に暗号化ステータスのアイコンを表示します:
-
- アイコン     | 意味                                                  |
- -------- | --------------------------------------------------- |
- 🔒 ロック   | 通信は PKI(公開鍵基盤)を使用します。本人性が検証された、エンドツーエンドの暗号化です       |
- 🔓 ロック解除 | 通信は共有チャンネルの PSK を使用します。暗号化されていますが、本人性は個別には検証されていません |
- ⚠️ 不一致   | 公開鍵の不一致。前回確認時からノードの鍵が変わっています(信頼する前に調べてください)         |
-
-> 💡 **ヒント:** PKI 暗号化(ファームウェア 2.5 以降)は、各ノードが固有の鍵ペアを持つため、チャンネル PSK より強力なセキュリティを提供します。 鍵の不一致の警告が表示された場合、そのノードはリセットされたか、侵害された可能性があります。
-
-## クイック操作
-
-ノードリストから、次のことができます:
-
-- ノードを**タップ**すると詳細ページを表示します
-- **長押し**でクイック操作を表示します:
-  - お気に入りに追加/解除
-  - 通知のミュート/解除
-  - ダイレクトメッセージを送信
-  - 経路をトレース
-  - 無視/無視の解除
-  - ノードを削除
-
-## 絞り込みと並べ替え
-
-### テキスト検索
-
-検索欄に入力すると、名前または短縮名でノードを絞り込めます。 絞り込みは、入力に応じてリアルタイムで更新されます。
-
-### 絞り込みトグル
-
- 絞り込み           | 説明                                                                                   |
- -------------- | ------------------------------------------------------------------------------------ |
- **オンラインのみ**    | 過去 2 時間以内に受信したノードのみを表示します                                                            |
- **直接のみ**       | 直接(中継されていない)接続のノードのみを表示します                                                           |
- **不明なノードを含む**  | まだユーザー情報を送信していないノードを表示します                                                            |
- **インフラを除外**    | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **MQTT を除外**   | MQTT のインターネットブリッジ経由でのみ受信したノードを非表示にします                                                |
- **無視したノードを表示** | 以前に非表示またはミュートにしたノードを表示します                                                            |
-
-### 並べ替えオプション
-
- 並べ替え             | 説明                         |
- ---------------- | -------------------------- |
- **最後の通信**(デフォルト) | 最近受信したノードを先頭に表示します         |
- **アルファベット順**     | ノードの正式名称で並べ替えます            |
- **距離**           | 近いノードを先頭に表示します(位置情報の共有が必要) |
- **ホップ数**         | 中継ホップ数が少ないノードを先頭に表示します     |
- **チャンネル**        | チャンネルインデックスごとにグループ化します     |
- **MQTT 経由**      | MQTT 経由と無線受信でグループ化します      |
- **お気に入り**        | お気に入りのノードを先頭に表示します         |
-
-## ホップごとのノード数
-
-ノードリストのアプリバーにあるホップヒストグラムのアイコンをタップすると、各ホップ距離にいくつのノードがあるかを示す棒グラフが開きます(0 = 直接、1 = 中継 1 回、以下同様)。 グラフを**最後の通信**の期間(すべての期間、1 時間、8 時間、24 時間)で絞り込むと、現在のメッシュの様子と、より長い期間での様子を比較できます。 ローカルメッシュがどれだけ混雑し、どれだけ広がっているかを手早く把握できます。
-
-## ノードの詳細
-
-ノードをタップすると、詳しい情報を含む詳細ビューが開きます。 メトリクスとテレメトリの詳細については、[ノードメトリクス](node-metrics) を参照してください。
-
-![ノードの詳細ビュー](../../assets/screenshots/nodes_node_list.png)
-
-詳細画面には、デバイス情報、位置、操作ボタンが含まれます:
-
-![ノードの詳細セクション](../../assets/screenshots/nodes_detail_section.png)
-
-インラインのステータス表示で、主要なメトリクスをひと目で確認できます:
-
- 指標      | スクリーンショット                                                 |
- ------- | --------------------------------------------------------- |
- 信号品質    | ![信号](../../assets/screenshots/nodes_signal_info.png)     |
- バッテリー残量 | ![バッテリー](../../assets/screenshots/nodes_battery_info.png) |
- ホップ数    | ![ホップ](../../assets/screenshots/nodes_hops_info.png)      |
- 最後の通信   | ![最後の通信](../../assets/screenshots/nodes_last_heard.png)   |
- 距離      | ![距離](../../assets/screenshots/nodes_distance_info.png)   |
-
-### デバイスのリンク(「購入はこちら」)
-
-ノードのハードウェアが認識されると、詳細ビューに折りたたみ式の\*\*「購入はこちら」\*\*セクションが表示され、そのデバイスを購入したり詳しく知ったりできる場所(ベンダーの製品ページ、製品バリエーション、AliExpress・Amazon・対応小売店などの地域のマーケットプレイスの掲載)が、あなたの国に合わせて絞り込まれて表示されます。 各リンクは `msh.to` のリダイレクトサービスを通じて開きます。 一致するリンクがないデバイスでは、このセクションは表示されません。
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## 関連トピック
-
-- [ノードメトリクス](node-metrics):各ノードの詳細なテレメトリダッシュボード
-- [メッセージとチャンネル](messages-and-channels):ノードにダイレクトメッセージを送信
-- [マップとウェイポイント](map-and-waypoints):ノードの位置を地図上で確認
-- [探索](discovery):トポロジー探索のための経路トレースと隣接ノード情報
-- [信号メーター](signal-meter):信号バーの意味を理解する
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/onboarding.html b/v2.8.0/docs/ja-rJP/user/onboarding.html deleted file mode 100644 index f19b7337de..0000000000 --- a/v2.8.0/docs/ja-rJP/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - はじめに - - - -
# はじめに
-
-Meshtastic へようこそ! このガイドでは、Meshtastic Android アプリの初期設定を順を追って説明します。
-
-## 初回起動
-
-アプリを初めて開くと、必要な権限と設定を構成するための導入フローが案内されます。 各ステップは順番に完了することも、スキップして後で Android の設定で権限を構成することもできます。
-
-### ようこそ画面
-
-ようこそ画面では、Meshtastic とその主な機能を紹介します:
-
-- オフグリッドのメッシュ通信
-- 携帯電話やインターネットは不要
-- エンドツーエンドで暗号化されたメッセージング
-
-**開始する**をタップして、セットアップフローを進めます。
-
-![ようこそ画面](../../assets/screenshots/onboarding_welcome.png)
-
-## 権限
-
-アプリはセットアップ中にいくつかの権限を要求します。 それぞれに特定の目的があり、一部は主要な機能に必要です。
-
-### Bluetooth の権限
-
-Bluetooth は、スマートフォンと Meshtastic 無線機の主な接続方法です:
-
-- **Bluetooth スキャン**:近くの Meshtastic 無線機を検出します
-- **Bluetooth 接続**:ペアリング済みの無線機との接続を確立して維持します
-
-プロンプトが表示されたら、両方の権限を許可してください。 Bluetooth がない場合は、代わりに USB または TCP 接続を使用する必要があります。
-
-### 位置情報の権限
-
-> ⚠️ **なぜ Bluetooth に位置情報が必要なのですか?** Android では、近くの Bluetooth Low Energy デバイスを検出するために位置情報の権限が必要です。 これは Android システムの要件であり、Meshtastic 固有の仕様ではありません。
-
-Meshtastic は、次の目的でも位置情報を使用します:
-
-- メッシュマップ上に自分の位置を表示する
-- 他のノードまでの距離を計算する
-- 他のメッシュメンバーと GPS 座標を共有する(有効な場合)
-
-お好みに応じて、\*\*「アプリの使用中のみ」**または**「常に許可」\*\*を選択してください:
-
-- **アプリの使用中のみ**:アプリが開いているときだけ位置情報を更新します
-- **常に許可**:常時メッシュに存在するために、バックグラウンドでの位置情報更新を有効にします
-
-拒否すると、Bluetooth スキャンが機能せず、ノードは位置情報を報告しません。
-
-### 通知の権限
-
-通知は、次のことをお知らせします:
-
-- チャンネルおよびダイレクトメッセージの受信
-- メッシュに参加する新しいノード
-- リモートノードのバッテリー低下
-
-> 💡 **ヒント:** 通知の設定は、後で Android のシステム設定で細かく調整できます。アプリはカテゴリごとに個別の通知チャンネルを作成する(さらに、バックグラウンドサービスなどの内部用のものもいくつか作成する)ため、個別に有効化したり消音したりできます。
-
-### 重要なアラートの権限
-
-対応デバイスでは、アプリが重要なアラートの権限を要求することがあります:
-
-- これらは、サイレントモードを突破できる高優先度の通知です
-- 緊急のメッシュアラートや至急のメッセージに役立ちます
-- 突破通知が不要な場合は、このステップを**スキップ**できます
-- 後で Android の通知設定で構成または取り消しができます
-
-## セットアップ後
-
-権限を許可すると、アプリはメイン画面に移行します。 最初に行うべきことは、Meshtastic 無線機への接続です。詳しい手順は[接続](connections)を参照してください。
-
-> 💡 **ヒント:** セットアップ中に権限をスキップした場合は、後で\*\*「Android 設定 → アプリ → Meshtastic → 権限」\*\*から許可できます。 不足している権限が、使おうとする機能を妨げる場合は、アプリが再度確認を求めます。
-
-## 次のステップ
-
-無線機に接続したら、次を確認してみましょう:
-
-- [接続](connections):最初の無線機デバイスをペアリングする
-- [メッセージとチャンネル](messages-and-channels):最初のメッセージを送信する
-- [ノード](nodes):メッシュに参加しているノードを確認する
-- [マップとウェイポイント](map-and-waypoints):ノードの位置を表示する
-- [設定](settings-radio-user):無線機とユーザープロフィールを構成する
-
-Meshtastic は初めてですか? meshtastic.org の[入門ガイド](https://meshtastic.org/docs/getting-started)では、ハードウェアの選択、無線機の初期設定、最初のメッシュのセットアップについて説明しています。
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/settings-module-admin.html b/v2.8.0/docs/ja-rJP/user/settings-module-admin.html deleted file mode 100644 index 86548fd110..0000000000 --- a/v2.8.0/docs/ja-rJP/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - 設定:モジュールと管理 - - - -
# 設定:モジュールと管理
-
-オプションの機能モジュールを設定し、デバイスの管理を行います。 モジュールは、専用の機能で Meshtastic を拡張します。それぞれ個別に有効・無効を切り替えられます。
-
-> 💡 **ヒント:** 実際に使うモジュールだけを有効にすれば十分です。 使わないモジュールを無効にすると、電波利用時間が減り、バッテリーを節約でき、設定もシンプルになります。
-
-モジュールの設定は、トグルスイッチ、ドロップダウン、テキストフィールド、スライダーを備えたカード形式のレイアウトを使用します:
-
-![トグルスイッチ](../../assets/screenshots/settings_switch.png)
-
-![ドロップダウンセレクター](../../assets/screenshots/settings_dropdown.png)
-
-![テキストフィールド](../../assets/screenshots/settings_text_field.png)
-
-![設定のカードレイアウト](../../assets/screenshots/settings_titled_card.png)
-
-## モジュールの設定
-
-### MQTT モジュール
-
-インターネット接続のために、メッシュのメッセージを MQTT サーバーとの間で橋渡しします。 これにより、無線の到達範囲を超えてメッシュを拡張したり、ホームオートメーションシステムと連携したりできます。
-
- 設定項目        | 説明                                                    |
- ----------- | ----------------------------------------------------- |
- 有効          | MQTT ブリッジを切り替え                                        |
- サーバー        | MQTT サーバーのアドレス                                        |
- ユーザー名       | 認証用のユーザー名                                             |
- パスワード       | 認証用のパスワード                                             |
- 暗号化         | MQTT ペイロードを暗号化                                        |
- ~~JSON 出力~~ | ⚠️ **非推奨**:JSON のサポートはファームウェアから削除されました。このフィールドは無視されます |
- TLS         | セキュアな接続を使用                                            |
- ルートトピック     | MQTT のベーストピックパス                                       |
- マップ報告       | 公開マップ用に位置を公開                                          |
-
-暗号化、プライバシー、サーバーの設定を含む詳しい使い方は、[MQTT](mqtt) を参照してください。
-
-### シリアルモジュール
-
-外部デバイスとの連携(GPS モジュール、センサー、カスタムハードウェア)のために、シリアルポート通信を有効にします。 有効にすると、ノードのシリアルポートで protobuf またはテキストデータを送受信でき、外部のマイコンやコンピューターがメッシュとやり取りできるようになります。
-
- 設定項目     | 説明                        |
- -------- | ------------------------- |
- 有効       | シリアル通信を有効化                |
- エコー      | 受信したシリアルデータをそのまま返す        |
- モード      | テキスト、Protobuf、または NMEA 出力 |
- RX/TX ピン | シリアル接続用の GPIO ピン          |
- ボーレート    | シリアル通信の速度                 |
-
-### 外部通知モジュール
-
-無線機ハードウェアのブザー、LED、振動によるアラートを制御します。 メッセージ到着時に物理的に知らせる必要があるデバイスに便利です。特に無人設置や屋外設置で役立ちます。
-
- 設定項目          | 説明                |
- ------------- | ----------------- |
- 有効            | 通知を有効化            |
- メッセージ通知       | メッセージ受信時に通知       |
- メッセージのブザー通知   | メッセージにブザーを使用      |
- メッセージの振動通知    | メッセージに振動を使用       |
- ベル通知          | ベル文字の受信時に通知       |
- 出力(GPIO)      | 通知出力用のピン          |
- アクティブ         | アクティブハイまたはアクティブロー |
- 継続時間(ミリ秒)     | 通知の長さ             |
- I2S をブザーとして使用 | I2S 音声出力を使用       |
-
-### Store & Forward モジュール
-
-一時的にオフラインだったノードのためにメッセージをバッファリングし、それらのノードが再接続したときに再送します。 ノードが頻繁に圏内・圏外を行き来するメッシュに不可欠です。短時間の切断中にメッセージが失われないようにします。
-
- 設定項目      | 説明                                                     |
- --------- | ------------------------------------------------------ |
- 有効        | ストア&フォワードを有効化                                          |
- ハートビート    | このノードのストア&フォワード機能を定期的に告知する                             |
- レコード数     | 保存するメッセージの最大数                                          |
- 履歴の返送(最大) | 再送するメッセージの最大数                                          |
- 履歴の返送(期間) | 再送する時間の範囲                                              |
- サーバー      | メッシュのストア&フォワードサーバーとして動作する(十分なメモリが必要、例:PSRAM 搭載の ESP32) |
-
-> 💡 **ヒント:** ストア&フォワードは、十分なメモリを持つノード(PSRAM 搭載の ESP32)で最も良く機能します。 ルーターノードは通常は常時起動しているため、理想的な候補です。
-
-### レンジテストモジュール
-
-ノード間のリンク品質を評価するための、自動レンジテストツールです。 有効にすると、ノードはカウンターを増やしながらテストメッセージを定期的に送信します。 受信側のノードがこれらのメッセージを記録するため、歩いたり車で移動したりして、後からどの距離でメッセージが届かなくなったかを分析できます。
-
- 設定項目    | 説明                    |
- ------- | --------------------- |
- 有効      | レンジテストを有効化            |
- 送信間隔(秒) | テスト送信の間隔              |
- CSV を保存 | 受信したテストデータを SD カードに記録 |
-
-### テレメトリモジュール
-
-ノードがメッシュと共有するテレメトリデータを制御します。 テレメトリには、デバイスの状態(バッテリー、連続稼働時間)と環境センサーのデータ(温度、湿度、気圧)が含まれます。
-
- 設定項目         | 説明               |
- ------------ | ---------------- |
- デバイスメトリクスの間隔 | デバイスメトリクスを報告する頻度 |
- 環境メトリクスの間隔   | 環境センサーを報告する頻度    |
- 大気質を有効化      | 粒子状物質センサーのデータを報告 |
- 電力メトリクスを有効化  | 電力使用量を報告         |
-
-対応センサーと設定の推奨事項については、[テレメトリとセンサー](telemetry-and-sensors) を参照してください。
-
-### 定型メッセージモジュール
-
-デバイスの物理ボタンからアクセスできる、あらかじめ設定されたメッセージです(ロータリーエンコーダー、キーパッド、または同様の入力ハードウェアを備えた無線機向け)。 スマートフォンを接続していなくても送信できる、クイック送信メッセージのリストを定義します。フィールドでの使用に最適です。
-
- 設定項目        | 説明                                      |
- ----------- | --------------------------------------- |
- ~~有効~~      | ⚠️ **非推奨**:現在のファームウェアはこのトグルを無視することがあります |
- メッセージ       | 改行で区切ったメッセージのリスト                        |
- ベルを送信       | 送信時にベル音を鳴らす                             |
- ロータリーエンコーダー | ロータリーエンコーダー入力を有効化                       |
- 上/下/押下ピン    | 入力用の GPIO ピンの割り当て                       |
-
-### オーディオモジュール
-
-メッシュ上での低帯域幅の音声通信のための、Codec2 音声サポートです。 これは、Codec2 コーデックを使って音声を非常に小さなデータパケットにエンコードする、**実験的**な機能です。
-
- 設定項目        | 説明                  |
- ----------- | ------------------- |
- 有効          | オーディオモジュールを有効化      |
- Codec2 レート  | 音質と帯域幅のトレードオフ       |
- I2S ワードセレクト | I2S WS 用の GPIO ピン   |
- I2S データ入力   | I2S DIN 用の GPIO ピン  |
- I2S データ出力   | I2S DOUT 用の GPIO ピン |
-
-> ⚠️ **注意:** オーディオには特定のハードウェア(I2S マイクとスピーカー)が必要です。 音質は非常に低帯域です。「聞き取れる無線の声」程度で、電話並みの品質ではないと考えてください。
-
-### リモートハードウェアモジュール
-
-メッシュネットワーク経由での GPIO 制御です。 リモートのノードが、別のノードの GPIO ピンを読み書きできるようにします。リレーの作動、スイッチの読み取り、離れた場所からの外部ハードウェア制御に便利です。
-
- 設定項目     | 説明                                    |
- -------- | ------------------------------------- |
- 有効       | リモート GPIO アクセスを有効化                    |
- 未定義ピンを許可 | 任意の GPIO ピンへのアクセスを許可(セキュリティリスク)       |
- 利用可能なピン  | このノードがリモートの読み書き用に公開する GPIO ピン(最大 4 個) |
-
-> ⚠️ **警告:** 「未定義ピンを許可」を有効にすると、リモートのノードがすべての GPIO ピンにアクセスでき、無線機自体のハードウェアに干渉するおそれがあります。 GPIO 専用のノードでのみ有効にしてください。
-
-### 隣接ノード情報モジュール
-
-直接受信した隣接ノードの情報をブロードキャストし、メッシュのトポロジーマッピングを可能にします。 有効にした各ノードは、受信できる他のノードとその信号品質のリストを定期的に共有します。
-
- 設定項目     | 説明                                                                              |
- -------- | ------------------------------------------------------------------------------- |
- 有効       | 隣接ノードのブロードキャストを有効化                                                              |
- 更新間隔(秒)  | 隣接ノードのリストをブロードキャストする頻度                                                          |
- LoRa で送信 | MQTT/スマートフォンだけでなく、LoRa 経由でも隣接ノード情報をブロードキャストします。 デフォルトの鍵と名前を使用しているチャンネルでは利用できません |
-
-隣接ノードのデータをメッシュのトポロジー探索に使う方法については、[探索](discovery) を参照してください。
-
-### アンビエントライティングモジュール
-
-対応ハードウェア上の、オンボードの NeoPixel やその他のアドレサブル RGB LED を制御します。 視覚的なステータス表示、通知ライト、装飾的な演出に使用できます。
-
- 設定項目    | 説明               |
- ------- | ---------------- |
- LED の状態 | LED のオン/オフを切り替え  |
- 電流      | LED の電流制限(0〜31)  |
- 赤/緑/青   | 各色チャンネルの値(0〜255) |
-
-### 検知センサーモジュール
-
-ノードを、動きやドアを検知するセンサーアラートシステムに変えます。 GPIO ピンが状態の変化(動きの検知、ドアの開放)を検出すると、ノードはメッシュ経由でアラートメッセージをブロードキャストします。
-
- 設定項目            | 説明                                          |
- --------------- | ------------------------------------------- |
- 有効              | 検知センサーを有効化                                  |
- 監視ピン            | センサーに接続された GPIO ピン                          |
- 検知トリガーの種類       | ピンの状態を検知イベントにどう対応させるか(例:アクティブハイ/ロー、エッジトリガー) |
- 入力プルアップモードを使用   | ピンの内蔵プルアップ抵抗を有効にする                          |
- 最小ブロードキャスト間隔(秒) | アラートのブロードキャスト間の最小時間                         |
- 状態ブロードキャスト(秒)   | 定期的な状態ブロードキャストの間隔                           |
- ベルを送信           | アラートにベル文字を含める                               |
- 分かりやすい名前        | このセンサーのカスタム名                                |
-
-### Paxcounter モジュール
-
-WiFi と BLE のプローブ要求を使った人数カウンターです。 スマートフォンやノートパソコンがネットワークを探すときに発するプローブ要求を受動的に受信して、近くのデバイスを数えます。 ESP32 デバイスでのみ利用できます。
-
- 設定項目    | 説明          |
- ------- | ----------- |
- 有効      | 人数カウントを有効化  |
- 更新間隔(秒) | カウントを報告する頻度 |
-
-> 💡 **ヒント:** Paxcounter は、登山口やイベント会場などの人出を推定するのに便利です。 カウントはおおよその値です。1 人が複数のデバイスを持っていることがあります。
-
-### TAK モジュール
-
-ATAK および WinTAK と相互運用するための、Team Awareness Kit 連携です。 詳しい設定と使い方は、[TAK 連携](tak) を参照してください。
-
-## 管理
-
-### リモート管理
-
-管理者鍵を共有しているノードをリモートで設定します:
-
-1. ノードリストで対象のノードを選択します。
-2. そのノードの「**設定**」に移動します。
-3. 設定を変更します。
-4. 「**保存**」をタップします。変更がメッシュ経由で送信されます。
-
-> ⚠️ **必要条件:** 自分のノードと対象のノードの両方に管理者鍵が設定されていること。
-
-### ノードデータベースの整理
-
-設定可能な期間内に受信していない古いノードを、ローカルデータベースから削除します。
-
-### 工場出荷時リセット
-
-すべての設定を工場出荷時のデフォルトにリセットします。 **この操作は取り消せません。**
-
-### 再起動
-
-接続中または管理中のノードをリモートで再起動します。
-
-### デバッグ
-
-診断出力の表示・絞り込み・エクスポートを行う「**パケット**」タブと「**アプリログ**」タブを開きます。 詳しい手順は、[デバッグログ](debug-logs) を参照してください。
-
-### リモート管理のトラブルシューティング
-
-- **「対象ノードから応答がありません」**:対象が圏外、オフライン、または管理者鍵が一致していない可能性があります。 両方のノードで管理者鍵が一致しているか確認してください。
-- **変更が適用されない**:一部の設定は、反映に再起動が必要です。 保存後に「再起動」を実行してみてください。
-- **リモートの設定が表示されない**:自分のノードに、対象ノードの管理者鍵があることを確認してください。 管理チャンネルは、管理者鍵を設定すると自動的に構成されます。
-
-## 関連トピック
-
-- [設定:無線機とユーザー](settings-radio-user):基本の無線機とユーザープロファイルの設定
-- [モジュール設定リファレンス](https://meshtastic.org/docs/configuration/module):meshtastic.org にある詳細なモジュールのドキュメント
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/settings-radio-user.html b/v2.8.0/docs/ja-rJP/user/settings-radio-user.html deleted file mode 100644 index 815d5d54af..0000000000 --- a/v2.8.0/docs/ja-rJP/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - 設定:無線機とユーザー - - - -
# 設定:無線機とユーザー
-
-無線機のハードウェアと、ユーザーの識別情報のパラメーターを設定します。
-
-## ユーザー設定
-
-### ユーザープロファイル
-
- 設定項目     | 説明                                        |
- -------- | ----------------------------------------- |
- 正式名称     | 表示名(最大 39 文字)                             |
- 短縮名      | 4 文字の短縮名                                  |
- 免許を持つ運用者 | アマチュア無線の免許を持っている場合に有効にします(より高い出力が可能になります) |
-
-### 変更を適用する
-
-設定を変更したら、「**保存**」をタップして構成を無線機に書き込みます。 変更を適用するために、デバイスが再起動することがあります。
-
-## 設定
-
-### デバイスの設定
-
- 設定項目              | 説明                    | デフォルト  |
- ----------------- | --------------------- | ------ |
- 役割                | ノードの動作(クライアント、ルーターなど) | クライアント |
- 再ブロードキャストモード      | ノードがメッセージを再送信する方法     | すべて    |
- ノード情報のブロードキャスト(秒) | ノード情報をブロードキャストする間隔    | 10800  |
- ダブルタップボタン         | ボタンをダブルタップしたときの動作     | 無効     |
-
-### LoRa設定
-
- 設定項目     | 説明                           | デフォルト       |
- -------- | ---------------------------- | ----------- |
- リージョン    | 周波数帯の規制リージョン                 | 未設定(要設定)    |
- モデムプリセット | 速度と距離のトレードオフ                 | LongFast    |
- ホップ数上限   | 再送信の最大ホップ数                   | 3           |
- 送信出力     | 送信出力(dBm)。0 = リージョンで許可された最大値 | 0(リージョン最大)  |
- 周波数オフセット | 周波数の微調整(MHz)                 | 0           |
- チャンネル帯域幅 | 帯域幅の設定                       | プリセットのデフォルト |
-
-> ⚠️ **重要:** 送信する前に、必ずリージョンを設定する**必要があります**。 正しいリージョンを設定せずに運用すると、現地の無線規制に違反するおそれがあります。 詳しくは、meshtastic.org の [リージョン設定ガイド](https://meshtastic.org/docs/getting-started/initial-config) を参照してください。
-
-### モデムプリセット
-
-> 💡 **ヒント:** **SNR 限界**の値は意図的に負の数になっています。 LoRa はノイズフロア&#x3092;_&#x4E0B;回&#x308B;_&#x4FE1;号でも復調できるため、より負の大きい限界値ほど、そのプリセットは弱くノイズの多い信号に耐えられます(より遠くまで届きます)。 詳しい説明は、[信号メーターの仕組み](signal-meter) を参照してください。
-
- プリセット              | 距離                      | 速度                        | SNR 限界                   | 最適な用途                                                     |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | --------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | 見通しのある高密度な都市部。データ量の多い用途                                   |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | 都市の住宅街。数ブロック以内の建物                                         |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | 郊外の短距離。中程度の建物密度                                           |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | 郊外エリア。中程度の建物密度                                            |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | 郊外・地方。中程度の距離で低速                                           |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Long Fast と同程度の距離だが 500 kHz 帯域幅。スループットが速い                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **一般用途(デフォルト)**:距離と速度のバランスが良い                             |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | 起伏のある地方。ときどき使う用途                                          |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD 帯(125 kHz 帯域幅)。Medium Fast に相当             |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD 帯(125 kHz 帯域幅)。Long Fast に相当               |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz 帯(62.5 kHz 帯域幅)。他のデバイスとの干渉を避ける |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz 帯(62.5 kHz 帯域幅)。Long Fast に相当  |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **非推奨**:まだ選択できますが、将来のファームウェアリリースで削除される可能性があります         |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **非推奨**:まだ選択できますが、将来のファームウェアリリースで削除される可能性があります         |
-
-> ℹ️ **注意:** この表では、一般的な短い名前を使用しています。 アプリのプリセットのドロップダウンでは、**Short Range - Fast**、**Long Range - Fast**、**Lite - Fast**、**Narrow - Fast** のように表示されます。
-
-#### モデムプリセットを選ぶ
-
-モデムプリセットは、**距離**と**データ速度**の基本的なトレードオフを制御します:
-
-- **遅いプリセット**は拡散をより多く使い、より弱い信号レベルでも復調できるようにします(SNR 限界が低い)。 これは、より遠くまで届く一方で、1 秒あたりのバイト数が少ないことを意味します。
-- **速いプリセット**は 1 回の送信でより多くのデータを詰め込みますが、復調にはより強い信号が必要です。
-
-**実用的な指針:**
-
-- **都市部のメッシュ(多数のノード、短距離):** **Long Fast**(デフォルト)または **Short Fast** を使用します。 速度が速いほど、多くのノードがチャンネルを共有するときの電波利用時間の輻輳が減ります。
-- **地方・まばらなメッシュ(少数のノード、長距離):** **Long Moderate** を使用します。 ノードが離れている場合は、速度よりも距離が重要です。
-- **EU 866/868 MHz の規制対応:** **Lite Fast**、**Lite Slow**、**Narrow Fast**、**Narrow Slow** を使用します。これらは、より狭い帯域幅で EU の SRD/868 MHz 帯に最適化されています。
-- **固定インフラのリンク:** 良好なアンテナと見通しがある専用のポイントツーポイントリンクには、**Short Turbo** または **Long Turbo** を使用します。
-- **混在した環境:** **Long Fast** のままにします。これはコミュニティのデフォルトで、地域内の他のユーザーとの互換性を確保します。
-
-> ⚠️ **重要:** 同じチャンネル上のすべてのノードは、同じモデムプリセットを使用する**必要があります**。 プリセットが一致しないノードは、同じ周波数と暗号化鍵を共有していても通信できません。
-
-> 💡 **ヒント:** 上記の距離の目安は、平坦な地形と一般的なアンテナを前提としています。 高所(丘の上、屋上)にあると、実効的な距離が大幅に伸びます。 適切に設置された Long Fast のルーターは、地上に置かれた Long Slow のノードを上回ることがよくあります。
-
-### 表示設定
-
- 設定項目       | 説明                                               |
- ---------- | ------------------------------------------------ |
- 画面のタイムアウト  | ディスプレイがスリープするまでの時間                               |
- 表示単位       | メートル法またはヤード・ポンド法                                 |
- OLED の種類   | 自動、SSD1306、SH1106、SH1107                         |
- コンパスの向き    | コンパス表示の回転オフセット(0°、90°、180°、270°)                 |
- ~~コンパスの北~~ | ⚠️ **非推奨**:コンパスの向きに置き換えられました。古いファームウェアではまだ表示されます |
-
-### 位置情報設定
-
- 設定項目           | 説明                 |
- -------------- | ------------------ |
- GPS を有効化       | GPS の有効/無効         |
- GPS の更新間隔      | GPS 測位を取得する頻度      |
- 位置のブロードキャスト(秒) | 位置を共有する頻度          |
- スマート位置         | 移動に基づくブロードキャストを有効化 |
- 固定位置           | 手動で設定した位置を使用       |
-
-### 電源設定
-
- 設定項目               | 説明                  |
- ------------------ | ------------------- |
- 省電力                | 低電力のスリープモードを有効化     |
- シャットダウンまでの時間(秒)    | アイドル時の自動シャットダウンタイマー |
- ADC 倍率             | バッテリー電圧の校正係数        |
- Bluetooth 待機時間(秒)  | 起動時に BLE 接続を待つ時間    |
- メッシュ SDS タイムアウト(秒) | スーパーディープスリープのタイムアウト |
-
-### ネットワーク設定
-
- 設定項目        | 説明                      |
- ----------- | ----------------------- |
- WiFi を有効化   | WiFi 無線を有効化(ESP32 デバイス) |
- WiFi SSID   | 接続先のネットワーク名             |
- WiFi PSK    | ネットワークのパスワード            |
- NTP サーバー    | 時刻同期サーバー                |
- Syslog サーバー | リモートログサーバー              |
-
-![IP アドレスの入力欄](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth 設定
-
- 設定項目           | 説明                            |
- -------------- | ----------------------------- |
- Bluetooth を有効化 | BLE 無線の有効/無効                  |
- ペアリングモード       | 固定 PIN、ランダム PIN、または PIN なし    |
- 固定 PIN         | ペアリング用の PIN コード(デフォルト:123456) |
-
-### セキュリティ設定
-
- 設定項目             | 説明                                                                                                                                                                                                             |
- ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 公開鍵              | ノードの公開鍵(読み取り専用)                                                                                                                                                                                                |
- 管理者鍵             | リモート管理用の鍵                                                                                                                                                                                                      |
- 秘密鍵              | ノードの秘密鍵(安全に取り扱ってください)                                                                                                                                                                                          |
- ~~管理チャンネルを有効化~~  | ⚠️ 削除されました:管理者キーを設定すると自動的に構成されるようになりました                                                                                                                                                                        |
- デバッグログ           | シリアル/Bluetooth 経由でライブのデバッグログを出力                                                                                                                                                                                |
- シリアルを有効化         | シリアルコンソールへのアクセスを有効化(デバイスの設定から移動)                                                                                                                                                                               |
- 管理モード            | 管理者以外によるチャンネル変更を制限                                                                                                                                                                                             |
- 鍵をバックアップ         | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- 鍵を復元             | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- 鍵のバックアップを削除      | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![パスワードの入力欄](../../assets/screenshots/settings_password_field.png)
-
-設定には、標準的な設定コントロール(ドロップダウン、トグル、スライダー)を使用します:
-
- コントロール  | スクリーンショット                                                  |
- ------- | ---------------------------------------------------------- |
- ドロップダウン | ![ドロップダウン](../../assets/screenshots/settings_dropdown.png) |
- トグル     | ![トグル](../../assets/screenshots/settings_switch.png)       |
- スライダー   | ![スライダー](../../assets/screenshots/settings_slider.png)     |
-
-## 関連トピック
-
-- [設定:モジュールと管理](settings-module-admin):オプションの機能モジュールとデバイスの管理
-- [信号メーター](signal-meter):モデムプリセットが信号品質のしきい値に与える影響
-- [LoRa 設定](https://meshtastic.org/docs/configuration/radio/lora):meshtastic.org にある詳細な LoRa 設定リファレンス
-- [初期設定](https://meshtastic.org/docs/getting-started/initial-config):meshtastic.org にあるリージョン設定ガイド
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/signal-meter.html b/v2.8.0/docs/ja-rJP/user/signal-meter.html deleted file mode 100644 index a857f595a0..0000000000 --- a/v2.8.0/docs/ja-rJP/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Meshtastic の信号メーターの仕組み - - - -
# Meshtastic の信号メーターの仕組み
-
-Meshtastic の信号メーター(アプリでおなじみのバーやステータスの色)は、従来の携帯電話や WiFi ルーターの「バー」とはまったく異なる方法で計算されます。
-
-ほとんどの一般向けデバイスは、単に信号がどれだけ「大きい」かを測定します。 しかし Meshtastic は **LoRa(Long Range)**技術を使用しているため、その信号メーターは、メッシュが使用している具体的な設定を基準に、信号がどれだけ**明瞭か**を測定します。
-
-## 2. LoRa の魔法:「ノイズフロアの下」を聞き取る
-
-標準的な無線(FM や WiFi など)では、背景ノイズが信号より大きい(負の SNR)場合、受信機にはノイズしか聞こえません。
-
-LoRa は特別です。 \*\*「スペクトラム拡散」\*\*変調を使用しており、信号が背景ノイズ&#x306E;_&#x4E0B;_&#x6DF1;くに埋もれていても、無線機が数学的に信号を取り出せます。 そのため Meshtastic では、**負の SNR 値**が頻繁に見られます(例:-10 dB。これは信号が背景ノイズより 10 デシベル弱いことを意味します)。
-
-使用している Meshtastic のプリセット(例:`LongFast` と `ShortFast`)に応じて、無線機には固有の **SNR 限界**があります。これは、メッセージがノイズに完全に埋もれてしまう前に許容できるノイズの絶対的な最大量です。
-
- -- | ------------------------------- | ---------------------------- |
- 良   | 3  | SNR がプリセットの `limit` を**上回る**    | 信号が復調限界を十分に上回っています。良好な接続です。  |
- 普通  | 2  | `limit` より `5.5 dB` 未満低い        | 復調できますが、限界に近づいています。          |
- 不良  | 1  | `limit` より `5.5 dB`〜`7.5 dB` 低い | プリセットが復元できるぎりぎりの境界です。        |
- なし  | 0  | `limit` より `7.5 dB` を超えて低い      | 限界を下回っています。送信がノイズに埋もれて失われます。 |
-
-> **注意:** 他の場所で見かけたことのある固定の SNR しきい値(`-7 dB`/`-15 dB`)は、現在ではルート追跡の結果で個々のホップに色を付けるためだけに使われ、ここで説明しているノードごとの信号メーターには使われません。
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/tak.html b/v2.8.0/docs/ja-rJP/user/tak.html deleted file mode 100644 index 77912a1421..0000000000 --- a/v2.8.0/docs/ja-rJP/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK 連携 - - - -
# TAK 連携
-
-Meshtastic は Team Awareness Kit(TAK)エコシステムと連携し、Meshtastic のメッシュデバイスと、ATAK や WinTAK などの TAK アプリケーションとの相互運用を可能にします。
-
-## 概要
-
-TAK モジュールを使うと、Meshtastic のノードは次のことができます:
-
-- TAK 互換の CoT(Cursor on Target)形式で位置データを共有する
-- TAK のマップ表示上にチームメンバーとして表示される
-- TAK の PLI(位置情報)メッセージを受信する
-
-## セットアップ
-
-### 前提条件
-
-- ATAK(Android Team Awareness Kit)または WinTAK がインストールされていること
-- Meshtastic ATAK プラグインがインストールされていること
-- Meshtastic 無線機で TAK モジュールが有効になっていること
-
-### 設定
-
-1. 「**設定 → モジュール設定 → TAK**」に移動します。
-2. TAK モジュールを有効にします。
-3. TAK のチーム/グループ設定を構成します:
-
-![モジュールのトグルスイッチ](../../assets/screenshots/settings_switch.png)
-
- 設定項目 | 説明           |
- ---- | ------------ |
- 有効   | TAK 相互運用を有効化 |
- モード  | TAK 互換の出力モード |
-
-### ATAK プラグインのセットアップ
-
-1. プラグインリポジトリから Meshtastic ATAK プラグインをインストールします。
-2. ATAK を開き、Meshtastic プラグインを有効にします。
-3. プラグインは、ATAK とメッシュネットワークの間でメッセージを橋渡しします。
-
-### ローカル TAK サーバー
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. 「**設定 → モジュール設定 → TAK → TAK サーバー**」を開きます:
-
-![有効化トグルとエクスポートオプションを備えたローカル TAK サーバーの設定](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **TAK データパッケージをエクスポート**:ATAK/iTAK がこのサーバーに接続するためにインポートできる `.zip` データパッケージを生成します。
-
-## TAK の役割
-
-TAK 関連の役割を設定したノードは、標準のクライアントとは動作が異なります:
-
- 役割              | 説明                                                                                                          |
- --------------- | ----------------------------------------------------------------------------------------------------------- |
- **TAK**         | 完全な TAK 相互運用。CoT データ、チャットメッセージ、PLI 更新を送受信します。 標準のクライアントとして機能し、さらに TAK ブリッジも兼ねます。                            |
- **TAK Tracker** | 位置情報のみの TAK 出力。ユーザーの操作なしに、一定間隔で自動的に PLI をブロードキャストします。 無人の位置ビーコン(車両、機材、ウェイポイント)に最適化されています。 チャットメッセージは中継しません。 |
-
-> 💡 **ヒント:** 位置の報告だけが必要なデバイス(例:車両に取り付けた無線機)には **TAK Tracker** を使用します。 ユーザーが TAK の運用に積極的に参加するデバイスには **TAK** を使用します。
-
-### CoT(Cursor on Target)形式
-
-TAK のメッセージは Cursor on Target の XML 形式を使用します。これは状況認識データを共有するための軍事標準です。 Meshtastic は、TAK システムに橋渡しする際に内部の protobuf メッセージを CoT 形式に変換するため、手動での形式変換は必要ありません。
-
-## TAK のアイデンティティ
-
-TAK の役割を使用すると、ノードは TAK のマップに表示されるアイデンティティ情報をブロードキャストします:
-
- 設定項目    | 説明                                     |
- ------- | -------------------------------------- |
- チームカラー  | TAK のマップ上でのチームの色(例:ブルー、レッド、シアン、グリーン)   |
- メンバーロール | 運用上の役割(チームメンバー、チームリード、HQ、メディック、RTO など) |
-
-これらの設定は、TAK モジュールが有効なときに「**設定 → モジュール設定 → TAK**」に表示されます。 TAK のコールサインは別個の設定ではありません。Meshtastic のノード名から自動的に導かれます。
-
-> 💡 **ヒント:** チーム/役割の色は、TAK の標準的な所属色です。 一貫したチーム割り当てを使うよう、TAK チームと調整してください。
-
-## ワイヤ形式(V1/V2)
-
-Meshtastic は 2 つの TAK ワイヤ形式に対応しており、接続中の無線機のファームウェアに基づいて自動的に選択されます。手動での設定は必要ありません:
-
- 形式       | 互換性                                              | 機能                                                                                           |
- -------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------- |
- V1(レガシー) | ファームウェア 2.7.x 以前 | ポート 72 での素の protobuf エンコード。 位置共有(PLI)とチャット(GeoChat)のみに対応。図形、マーカー、ルート、その他の型付き CoT イベントは破棄されます |
- V2(現行)   | ファームウェア 2.8.0 以降 | ポート 78 でのコンパクトな zstd 圧縮エンコード。 V1 が対応するすべてに加えて、図形、マーカー、ルート、航空機、casevac、緊急、タスクの CoT タイプを追加します  |
-
-ノードは V2 を実行していても、古いノードからのレガシーな V1 パケットを引き続き中継するため、ファームウェアが混在したメッシュでも動作し続けます。
-
-## ATAK での使用
-
-設定が完了すると:
-
-- Meshtastic のノードが、コールサインのラベル付きで ATAK のマップにマーカーとして表示されます
-- チャットメッセージを、メッシュと TAK ネットワークの間で橋渡しできます
-- 位置の更新が、Meshtastic と TAK の間で双方向に流れます
-- TAK Tracker のノードは自動的に PLI をブロードキャストします。ATAK 側の設定なしで、その位置が ATAK のマップに表示されます
-
-> ⚠️ **注意:** TAK 連携には、特定のノードの役割とモジュールの設定が必要です。 標準のクライアントノードは、自動的には TAK の運用に参加しません。
-
-## トラブルシューティング
-
- 問題                    | 原因                                                                    | 解決策                                                                          |
- --------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
- ノードが ATAK のマップに表示されない | TAK モジュールが無効、または役割が正しくない                                              | TAK モジュールが有効で、ノードの役割が TAK または TAK Tracker になっているか確認する                        |
- 位置の更新が古い              | GPS 測位が失われた、または間隔が長すぎる                                                | GPS の状態を確認し、位置情報設定で位置のブロードキャスト間隔を短くする                                        |
- ATAK プラグインが「切断」と表示する  | BLE 接続が失われた、またはプラグインがクラッシュした                                          | Meshtastic アプリで Bluetooth を再接続し、その後 ATAK プラグインを再起動する                         |
- 図形、マーカー、ルートが橋渡しされない   | 送信側のノードがレガシーな V1(ファームウェア 2.7.x 以前)である | V2 ワイヤ形式にするため、送信側のノードのファームウェアを 2.8.0 以降に更新する |
- CoT データが流れない          | チャンネルの不一致                                                             | すべての TAK ノードが、暗号化が一致した同じチャンネル上にある必要がある                                       |
-
-## セキュリティに関する注意
-
-- TAK データは、あなたの位置とコールサインの情報を共有します
-- 機密性の高い環境で TAK を使用する場合は、チャンネルの暗号化を設定してください
-- TAK モジュールは、他の Meshtastic メッセージと同じチャンネル暗号化に従います
-
-## 関連トピック
-
-- [設定:モジュールと管理](settings-module-admin):TAK モジュールの設定
-- [ノード](nodes):ノードリストの TAK と TAK Tracker の役割
-- [マップとウェイポイント](map-and-waypoints):マップ上のノードの位置
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/telemetry-and-sensors.html b/v2.8.0/docs/ja-rJP/user/telemetry-and-sensors.html deleted file mode 100644 index fc650a99d6..0000000000 --- a/v2.8.0/docs/ja-rJP/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - テレメトリとセンサー - - - -
# テレメトリとセンサー
-
-Meshtastic のノードは、メッシュネットワーク全体でセンサーデータを収集・共有できます。
-
-## 概要
-
-テレメトリを使うと、センサーを搭載したノードが、環境・電力・デバイスの状態の情報をブロードキャストできます。 このデータはノードの詳細画面で確認でき、時系列で記録することもできます。
-
-## デバイステレメトリ
-
-すべての Meshtastic ノードは、基本的なデバイステレメトリを報告します:
-
- メトリクス       | 説明                  | 標準的な範囲                                                             |
- ----------- | ------------------- | ------------------------------------------------------------------ |
- バッテリー残量     | 充電の割合               | 0–100%                                                             |
- 電圧          | バッテリー電圧             | 3.0–4.2V (LiPo) |
- チャンネル全体の利用率 | ローカルで使用された電波利用時間の割合 | 0–100%                                                             |
- 送信の電波利用率    | このノードが使用した電波利用時間の割合 | 0–100%                                                             |
- 連続稼働時間      | 前回の起動からの経過秒数        | 可変                                                                 |
-
-## 環境センサー
-
-対応する環境センサー:
-
-### 温度と湿度
-
- センサー    | 温度 | 湿度 | 気圧 | 備考           |
- ------- | -- | -- | -- | ------------ |
- BME280  | ✓  | ✓  | ✓  | おすすめのオールインワン |
- BME680  | ✓  | ✓  | ✓  | ガス抵抗/IAQ を追加 |
- SHT31   | ✓  | ✓  | —  | 高精度          |
- MCP9808 | ✓  | —  | —  | 高精度な温度       |
- LPS22   | —  | —  | ✓  | 気圧のみ         |
-
-### 大気質
-
- センサー     | メトリクス                                              | 備考       |
- -------- | -------------------------------------------------- | -------- |
- BME680   | ガス抵抗/IAQ                                           | 揮発性有機化合物 |
- PMSA003I | PM1.0, PM2.5, PM10 | 粒子状物質    |
- SEN55    | PM、NOx、VOC、温度、湿度                                   | マルチセンサー  |
-
-### 光と UV
-
- センサー     | メトリクス       |
- -------- | ----------- |
- OPT3001  | 周囲の明るさ(ルクス) |
- VEML7700 | 周囲の明るさ(ルクス) |
- LTR390   | UV 指数       |
-
-## 電力メトリクス
-
-INA シリーズの電力センサーを搭載したノードは、次を報告できます:
-
- メトリクス | 説明          |
- ----- | ----------- |
- バス電圧  | 供給レールの電圧    |
- 電流    | 消費電流(mA)    |
- 電力    | 計算された電力(mW) |
-
-リモートノードの太陽光充電やバッテリーの状態を監視するのに便利です。
-
-## テレメトリを設定する
-
-1. 「**設定 → モジュール設定 → テレメトリ**」に移動します。
-2. 報告間隔を設定します:
-   - **デバイスメトリクスの間隔**:デバイスメトリクスをブロードキャストする頻度
-   - **環境メトリクスの間隔**:センサーデータをブロードキャストする頻度
-3. 必要に応じて、特定のセンサーの種類を有効にします。
-
-### 推奨の間隔
-
- 用途               | デバイス(秒) | 環境(秒) |
- ---------------- | ------- | ----- |
- 都市部のメッシュ(多数のノード) | 3600    | 3600  |
- 地方のメッシュ(少数のノード)  | 900     | 900   |
- 気象観測所            | 900     | 300   |
- バッテリー節約          | 7200    | 7200  |
-
-> ⚠️ **注意:** 間隔を短くすると、メッシュ全体で電波利用時間の消費とバッテリーの消耗が増えます。
-
-## 大気質メトリクス
-
-粒子状物質センサーまたは CO₂ センサーを搭載したノードは、大気質データを報告します:
-
- メトリクス                 | 単位    | 説明       |
- --------------------- | ----- | -------- |
- PM1.0 | µg/m³ | 超微小粒子状物質 |
- PM2.5 | µg/m³ | 微小粒子状物質  |
- PM10                  | µg/m³ | 粗大粒子状物質  |
- CO₂                   | ppm   | 二酸化炭素の濃度 |
-
-SCD4x などの CO₂ センサーは、自身の温度と湿度も報告し、上記の測定値とともに表示されます。 アプリは、PM2.5 の履歴から **EPA NowCast AQI** の値も算出します。
-
-CO₂ の測定値は、深刻度に応じて色分けされます(良好 → 空気がこもる → 悪い → 危険 → 退避)。 正確な ppm の区分、色、AQI の詳細については、[ノードメトリクス:大気質](node-metrics#air-quality-metrics) を参照してください。
-
-大気質データは、ノードの詳細画面で情報カードとして表示したり、時系列でグラフ化したり、CSV にエクスポートしたりできます。
-
-## テレメトリを表示する
-
-1. 「**ノード**」に移動して、ノードを選択します。
-2. 詳細画面にテレメトリのセクションが表示されます:
-   - デバイスメトリクス(常に利用可能)
-   - 環境メトリクス(センサーがある場合)
-   - 電力メトリクス(INA センサーがある場合)
-   - 大気質メトリクス(PM/CO₂ センサーがある場合)
-3. 履歴グラフで、時系列の傾向を確認できます。
-
-![テレメトリの操作](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## トラブルシューティング
-
-- **環境データが表示されない?** リモートノードに物理センサーが接続されている必要があります(例:I2C の BME280)。 デバイステレメトリ(バッテリー、連続稼働時間)は常に利用できますが、環境メトリクスにはハードウェアが必要です。
-- **測定値が古い?** 報告間隔を確認してください。非常に長い間隔(7200 秒以上)では、データの更新頻度が低くなります。 リモートノードがまだオンラインであるかも確認してください。
-- **I2C バスでセンサーが競合している?** 一部のセンサーは I2C アドレスを共有しています。 同じバスに複数のセンサーがある場合は、無線機のシリアルデバッグ出力でアドレスの衝突がないか確認してください。
-
-## 関連トピック
-
-- [ノードメトリクス](node-metrics):ノードの詳細画面でテレメトリデータを表示
-- [設定:モジュールと管理](settings-module-admin):テレメトリモジュールの設定
-- [単位とロケール](units-and-locale):温度と気圧の表示単位
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/translate.html b/v2.8.0/docs/ja-rJP/user/translate.html deleted file mode 100644 index 9f7f34e4a6..0000000000 --- a/v2.8.0/docs/ja-rJP/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - アプリを翻訳する - - - -
# アプリを翻訳する
-
-翻訳への貢献は、Meshtastic をより多くの人が使えるようにするのに役立ちます。 アプリは、ユーザーインターフェースとアプリ内ドキュメントの両方のコミュニティ翻訳を管理するために [Crowdin](https://crowdin.com/) を使用しています。
-
------------ | ------------------------------------------------------------------- | ----------------------------------- |
- UI 文字列         | `core/resources/src/commonMain/composeResources/values/strings.xml` | ボタン、ラベル、メッセージ、およびユーザーに表示されるすべてのテキスト |
- ユーザーガイドのページ    | `docs/en/user/*.md`                                                 | 「ヘルプとドキュメント」に表示されるアプリ内ドキュメント        |
- Fastlane メタデータ | `fastlane/metadata/android/en-US/`                                  | アプリストアの掲載タイトル、説明、変更履歴               |
-
-> ⚠️ **注意:** 開発者ガイドのページは英語のみです。 コントリビューター向けの、コード中心のドキュメントは翻訳されません。
-
-## 新しい言語を追加する
-
-自分の言語がまだ Crowdin に掲載されていない場合:
-
-1. [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) で issue を作成し、新しいロケールをリクエストします。
-2. メンテナーが Crowdin にその言語を追加し、`crowdin.yml` を設定します。
-3. 追加されたら、すぐに翻訳を始められます。
-
-## 翻訳ガイドライン
-
-- 「LoRa」「MQTT」「BLE」「TAK」「SNR」「RSSI」などの技術用語は**翻訳しないでください**。これらは共通です。
-- **プレースホルダーはそのまま保ちます。** `%1$s` や `%d` のような文字列は、実行時に値が埋め込まれます。 自分の言語の文法上必要な場合を除き、削除したり並び替えたりしないでください。
-- **トーンを合わせます。** アプリは、親しみやすく率直な語り口を使っています。 過度に堅い言葉は避けてください。
-- **可能ならテストします。** デバイスの言語を切り替えてアプリを開き、翻訳が実際の文脈でどう見えるか確認してください。
-
----
-
-## 質問がありますか?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Meshtastic の普及にご協力いただき、ありがとうございます!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/units-and-locale.html b/v2.8.0/docs/ja-rJP/user/units-and-locale.html deleted file mode 100644 index 3984315832..0000000000 --- a/v2.8.0/docs/ja-rJP/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - 単位・計測・ロケール - - - -
# 単位・計測・ロケール
-
-Meshtastic アプリは、温度・距離・速度・時刻を、デバイスで設定されている単位で自動的に表示します。アプリ内で変更する設定はありません。
-
-## 温度
-
-環境センサーの温度値は **°C** で送信され、デバイスの温度単位の設定に基づいて表示されます。
-
-![温度を含む環境メトリクス](../../assets/screenshots/nodes_environment_metrics.png)
-
- あなたの設定 | 表示   |
- ------ | ---- |
- 摂氏     | 22°C |
- 華氏     | 72°F |
-
-これは、アプリ全体のすべての温度表示に影響します:ノードの環境テレメトリ、土壌温度、露点、テレメトリグラフの軸。
-
-## 距離と標高
-
-ノード間の距離と GPS の標高は**メートル**で送信され、自動的にスケーリングされて変換されます。
-
-![距離情報の表示](../../assets/screenshots/nodes_distance_info.png)
-
- あなたの設定       | 短い距離     | 長い距離                   | 標高       |
- ------------ | -------- | ---------------------- | -------- |
- メートル法        | 350 m    | 2.5 km | 1,200 m  |
- ヤード・ポンド法(米国) | 1,148 ft | 1.6 mi | 3,937 ft |
-
-アプリは自然なスケーリングを使用します。短い距離はメートルやフィートのままで、長い距離は自動的にキロメートルやマイルに切り替わります。
-
-### 表示される場所
-
-- **ノードリスト**:各ノードまでの距離と方位
-- **ノードの詳細**:標高、自分の位置からの距離
-- **マップ**:ウェイポイントまでの距離、ルート追跡のホップ距離
-- **コンパス**:選択したノードまでの距離
-
-## 速度
-
-GPS の対地速度は、ロケールで優先される速度単位で表示されます。
-
- あなたの設定       | 表示      |
- ------------ | ------- |
- メートル法        | 12 km/h |
- ヤード・ポンド法(米国) | 7 mph   |
-
-## 風力
-
-環境センサーの風速と突風のデータは **m/s** で送信され、表示用に変換されます。
-
- あなたの設定       | 表示     |
- ------------ | ------ |
- メートル法        | 5 m/s  |
- ヤード・ポンド法(米国) | 11 mph |
-
-風の測定値は、「**ノードの詳細**」の環境セクションと「**環境テレメトリ**」のグラフに表示されます。
-
-## 降水量
-
-降水量の測定値(1 時間および 24 時間の合計)は **mm** で送信され、表示用に変換されます。
-
- あなたの設定       | 表示                     |
- ------------ | ---------------------- |
- メートル法        | 12 mm                  |
- ヤード・ポンド法(米国) | 0.5 in |
-
-## 変わらない単位
-
-一部の単位は国際標準であり、ロケールに関係なく同じように表示されます:
-
- 計測項目          | 単位    | 理由          |
- ------------- | ----- | ----------- |
- 大気圧           | hPa   | 国際的な気象標準    |
- 方位/進行方向       | °(度)  | 普遍的な航法の慣例   |
- 放射線           | μR/hr | 標準的な線量測定の単位 |
- GPS 座標        | 十進法の度 | 普遍的な地理標準    |
- 湿度、バッテリー、土壌水分 | %     | 普遍的         |
-
-## 日付と時刻
-
-アプリ全体のすべてのタイムスタンプ(最後の通信、メッセージの時刻、テレメトリのログ、グラフの軸)は、デバイスの日付と時刻の設定に従います。
-
- 設定          | 制御する内容 | 例                                                |
- ----------- | ------ | ------------------------------------------------ |
- **24 時間表示** | 時刻の形式  | 14:30 vs 2:30 PM |
- **日付形式**    | 日付の並び順 | 09/05/2026 vs 05/09/2026                         |
-
-アプリは、意味がある場面では**相対時間**も使用します。たとえばノードリストの「5 分前」や「2 時間前」で、これらはデバイスの言語に自動的にローカライズされます。
-
-## 計測系を変更する(Android)
-
-Android では、計測系(メートル法かヤード・ポンド法か)は地域設定に連動しています:
-
-1. 「**Android の設定 → システム → 言語と地域**」を開きます
-2. 「**地域**」または「**計測単位**」の設定を変更します
-3. Meshtastic に戻ります。値がすぐに更新されます
-
-> 💡 **ヒント:** すべての計測値の書式は一元的に処理され、プラットフォームのロケールに従うため、単位はアプリ全体で一貫しています。
-
-## 関連トピック
-
-- [ノードメトリクス](node-metrics):温度・距離・センサー値が表示される場所
-- [テレメトリとセンサー](telemetry-and-sensors):これらの計測値を生成するセンサー
-- [計測と書式](../developer/measurement):書式ユーティリティの開発者向けリファレンス
-- [設定:無線機とユーザー](settings-radio-user):単位の選択を決める地域設定
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ja-rJP/user/widget.html b/v2.8.0/docs/ja-rJP/user/widget.html deleted file mode 100644 index b3539abff9..0000000000 --- a/v2.8.0/docs/ja-rJP/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - ホーム画面ウィジェット - - - -
# ホーム画面ウィジェット
-
-Android では、Meshtastic はホーム画面の**ウィジェット**を提供しており、接続中の無線機のライブなローカル統計をひと目で確認できます。アプリを開く必要はありません。
-
-## 表示される内容
-
-ウィジェットは、**接続中の無線機**の現在のローカル統計を表示します:
-
-- **Battery**:無線機のバッテリー残量。外部電源で動作している場合は _Powered_(給電中)
-- **ChUtil**:チャンネル利用率(LoRa チャンネルがどれだけ混雑しているかを割合で表示)
-- **AirUtil**:電波利用率(無線機がデューティサイクルのうちどれだけ送信しているか)
-- **Traffic**:送受信したパケットと、検出した重複
-- **Relays**:中継したパケットと、中継のキャンセル(無線機が中継しているときに表示)
-
-ウィジェットをタップするとアプリが開きます。更新コントロールを使うと、最新の統計を要求できます。
-
-> 💡 **ヒント:** 値は、現在接続している無線機を反映します。 アプリが無線機に接続していない場合、ウィジェットは再接続するまで、最後に分かっている統計を表示します。
-
-## ウィジェットを追加する
-
-1. Android のホーム画面の空いている場所を長押しします。
-2. 「**ウィジェット**」をタップします。
-3. リストで **Meshtastic** を見つけ、「**Local Stats**」ウィジェットをホーム画面にドラッグします。
-4. 必要に応じてサイズを変更します。レイアウトは利用可能なスペースに合わせて調整されます。
-
-> ⚠️ **注意:** このウィジェットは Android 専用です。 デスクトップ版や iOS 版では利用できません。
-
-## 関連トピック
-
-- [ノードメトリクス](node-metrics):アプリ内の完全な信号品質とローカル統計の履歴
-- [コネクション](connections):ウィジェットに表示する統計が得られるよう、無線機に接続する
-- [探索](discovery):メッシュ全体のチャンネル利用率と電波利用率
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/android-auto.html b/v2.8.0/docs/ko-rKR/user/android-auto.html deleted file mode 100644 index 1b9afb8d83..0000000000 --- a/v2.8.0/docs/ko-rKR/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## 메시지기기
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## 노드
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/app-functions.html b/v2.8.0/docs/ko-rKR/user/app-functions.html deleted file mode 100644 index 0d034ee6d5..0000000000 --- a/v2.8.0/docs/ko-rKR/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/connections.html b/v2.8.0/docs/ko-rKR/user/connections.html deleted file mode 100644 index 096fcbfddd..0000000000 --- a/v2.8.0/docs/ko-rKR/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | 설명                            |
- ---- | -------------- | ----------------------------- |
- 🟢   | 연결됨            | Active radio link established |
- 🟡   | 연결 중           | Handshake in progress         |
- 🔴   | 연결 끊김          | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/debug-logs.html b/v2.8.0/docs/ko-rKR/user/debug-logs.html deleted file mode 100644 index 6b217003b8..0000000000 --- a/v2.8.0/docs/ko-rKR/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/desktop.html b/v2.8.0/docs/ko-rKR/user/desktop.html deleted file mode 100644 index ae66cf25a1..0000000000 --- a/v2.8.0/docs/ko-rKR/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- 지도                                           | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- 설정                                           | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/discovery.html b/v2.8.0/docs/ko-rKR/user/discovery.html deleted file mode 100644 index 1a24a8d881..0000000000 --- a/v2.8.0/docs/ko-rKR/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## 추적 루트
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/firmware.html b/v2.8.0/docs/ko-rKR/user/firmware.html deleted file mode 100644 index 774df8d32f..0000000000 --- a/v2.8.0/docs/ko-rKR/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- 채널         | 설명                                                                         |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/help-and-docs.html b/v2.8.0/docs/ko-rKR/user/help-and-docs.html deleted file mode 100644 index b871d411f2..0000000000 --- a/v2.8.0/docs/ko-rKR/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/map-and-waypoints.html b/v2.8.0/docs/ko-rKR/user/map-and-waypoints.html deleted file mode 100644 index 06c786726e..0000000000 --- a/v2.8.0/docs/ko-rKR/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | 설명                                                      |
- ---------- | ------------------------------------------------------- |
- 이름         | Short identifier (max 29 characters) |
- 설명         | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- 잠김         | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/messages-and-channels.html b/v2.8.0/docs/ko-rKR/user/messages-and-channels.html deleted file mode 100644 index db39bd06db..0000000000 --- a/v2.8.0/docs/ko-rKR/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## 채널
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | 설명                                                                                                                                     |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Error                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Error            | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- 시간 초과            | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- 인터페이스 없음         | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- 채널 없음            | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- 잘못된 요청           | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- 타입            | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/mqtt.html b/v2.8.0/docs/ko-rKR/user/mqtt.html deleted file mode 100644 index c43111fe3e..0000000000 --- a/v2.8.0/docs/ko-rKR/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## 설정
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | 설명                                                                                            | 기본값                                                 |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- 사용자명            | Broker authentication                                                                         | meshdev                                             |
- 비밀번호            | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- 암호화             | Encrypt MQTT payload                                                                          | 활성화                                                 |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | 설명                               |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | 설명                                  | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/node-metrics.html b/v2.8.0/docs/ko-rKR/user/node-metrics.html deleted file mode 100644 index db04a1ff13..0000000000 --- a/v2.8.0/docs/ko-rKR/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric        | 설명                                  |
- ------------- | ----------------------------------- |
- Battery Level | Current battery percentage          |
- 전압            | Battery voltage reading             |
- 채널 사용         | Percentage of airtime consumed      |
- Airtime       | Transmission time used by this node |
- 업타임           | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- 온도                                   | BME280, BME680, SHT31 |
- 습도                                   | BME280, BME680, SHT31 |
- 기압                                   | BME280, BMP280        |
- 가스 저항                                | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | 설명                                                                                                                                                                                                                         |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- 좋음       | < 1000    | 초록       |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | 빨강       |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | 설명                                                                             |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- 좋음      | SNR above the preset's limit                                     |
- 보통      | less than 5.5 dB below the limit                 |
- 나쁨      | 5.5 dB to 7.5 dB below the limit |
- 없음      | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | 설명                      |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- 전류          | Power draw in milliamps |
- 전원          | Calculated wattage      |
-
-## 추적 루트
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## 위치 로그
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## 이웃 정보
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/nodes.html b/v2.8.0/docs/ko-rKR/user/nodes.html deleted file mode 100644 index 3bd7013703..0000000000 --- a/v2.8.0/docs/ko-rKR/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - 노드 - - - -
# 노드
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- 역할                               | 설명                                                                                                                                                     |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- 필터                         | 설명                                                                                   |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | 설명                                                                 |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- 최근 수신          | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- 거리             | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/onboarding.html b/v2.8.0/docs/ko-rKR/user/onboarding.html deleted file mode 100644 index ba37be21f4..0000000000 --- a/v2.8.0/docs/ko-rKR/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/settings-module-admin.html b/v2.8.0/docs/ko-rKR/user/settings-module-admin.html deleted file mode 100644 index 8caf162691..0000000000 --- a/v2.8.0/docs/ko-rKR/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | 설명                                                                       |
- --------------- | ------------------------------------------------------------------------ |
- 활성화             | Toggle MQTT bridge                                                       |
- 서버              | MQTT broker address                                                      |
- 사용자명            | Authentication username                                                  |
- 비밀번호            | Authentication password                                                  |
- 암호화             | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | 설명                              |
- ---------- | ------------------------------- |
- 활성화        | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | 설명                          |
- -------------------------------- | --------------------------- |
- 활성화                              | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | 설명                                                                                                                                               |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- 활성화                                        | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- 레코드                                        | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- 서버                                         | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | 설명                                |
- -------------------------------------- | --------------------------------- |
- 활성화                                    | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | 설명                                      |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | 설명                                                          |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- 메시지기기              | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | 설명                               |
- --------------- | -------------------------------- |
- 활성화             | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | 설명                                                              |
- -------------------- | --------------------------------------------------------------- |
- 활성화                  | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | 설명                                                                                                                                   |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- 활성화                                    | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | 설명                                                         |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- 전류                 | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | 설명                                                                                                                                      |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- 활성화                                      | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | 설명                         |
- -------------------------------------- | -------------------------- |
- 활성화                                    | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## 관리
-
-### 원격 설정
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### 재부팅
-
-Remotely reboot a connected or administered node.
-
-### 디버그 패널
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/settings-radio-user.html b/v2.8.0/docs/ko-rKR/user/settings-radio-user.html deleted file mode 100644 index cc942b8bc9..0000000000 --- a/v2.8.0/docs/ko-rKR/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | 설명                                                                                    |
- ----------------- | ------------------------------------------------------------------------------------- |
- 긴 이름              | Your display name (up to 39 characters)                            |
- 짧은 이름             | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## 설정
-
-### 장치 설정
-
- Setting                                    | 설명                                                                      | 기본값      |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- 역할                                         | Node behavior (Client, Router, etc.) | Client   |
- 중계 모드                                      | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa 설정
-
- Setting           | 설명                                                                      | 기본값                                       |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- 지역                | Regulatory region for frequency bands                                   | Unset (must configure) |
- 모뎀 프리셋            | Speed/range tradeoff                                                    | LongFast                                  |
- Hop  제한           | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- 주파수 오프셋           | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### 화면 설정
-
- Setting             | 설명                                                                                   |
- ------------------- | ------------------------------------------------------------------------------------ |
- 화면 끄기 시간            | Time before display sleeps                                                           |
- 단위 표시               | Metric or Imperial                                                                   |
- OLED 타입             | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### 위치 설정
-
- Setting                                   | 설명                                 |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### 전원 설정
-
- Setting                                 | 설명                                      |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### 네트워크 설정
-
- Setting       | 설명                                                   |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | 네트워크 암호                                              |
- NTP 서버        | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### 블루투스 설정
-
- Setting           | 설명                                                                        |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- 고정 PIN            | PIN code for pairing (default: 123456) |
-
-### 보안 설정
-
- Setting                   | 설명                                                                                                                                                                                                             |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 공개 키                      | Your node's public key (read-only)                                                                                                                                                          |
- Admin 키                   | Key for remote administration                                                                                                                                                                                  |
- 개인 키                      | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- 관리 모드                     | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/signal-meter.html b/v2.8.0/docs/ko-rKR/user/signal-meter.html deleted file mode 100644 index e703ad2470..0000000000 --- a/v2.8.0/docs/ko-rKR/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- 좋음    | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- 보통    | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- 나쁨    | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- 없음    | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/tak.html b/v2.8.0/docs/ko-rKR/user/tak.html deleted file mode 100644 index fd046c7d56..0000000000 --- a/v2.8.0/docs/ko-rKR/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### 설정
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | 설명                         |
- ------- | -------------------------- |
- 활성화     | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- 역할              | 설명                                                                                                                                                                                                                                                                                  |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | 설명                                                                                                               |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/telemetry-and-sensors.html b/v2.8.0/docs/ko-rKR/user/telemetry-and-sensors.html deleted file mode 100644 index 074f91ce1a..0000000000 --- a/v2.8.0/docs/ko-rKR/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | 설명                             | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- 전압                 | Battery voltage                | 3.0–4.2V (LiPo) |
- 채널 사용              | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- 업타임                | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | 온도 | 습도 | 기압 | Notes                   |
- ------- | -- | -- | -- | ----------------------- |
- BME280  | ✓  | ✓  | ✓  | Recommended all-in-one  |
- BME680  | ✓  | ✓  | ✓  | Adds gas resistance/IAQ |
- SHT31   | ✓  | ✓  | —  | High accuracy           |
- MCP9808 | ✓  | —  | —  | Precision temperature   |
- LPS22   | —  | —  | ✓  | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | 설명                                        |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- 전류          | Power consumption (mA) |
- 전원          | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | 설명                           |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/translate.html b/v2.8.0/docs/ko-rKR/user/translate.html deleted file mode 100644 index 174a89046f..0000000000 --- a/v2.8.0/docs/ko-rKR/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/units-and-locale.html b/v2.8.0/docs/ko-rKR/user/units-and-locale.html deleted file mode 100644 index 557f75b8e5..0000000000 --- a/v2.8.0/docs/ko-rKR/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## 온도
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## 바람
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- 복사                               | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ko-rKR/user/widget.html b/v2.8.0/docs/ko-rKR/user/widget.html deleted file mode 100644 index 0996acf4c8..0000000000 --- a/v2.8.0/docs/ko-rKR/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/android-auto.html b/v2.8.0/docs/lt-rLT/user/android-auto.html deleted file mode 100644 index 9554bf47a3..0000000000 --- a/v2.8.0/docs/lt-rLT/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/app-functions.html b/v2.8.0/docs/lt-rLT/user/app-functions.html deleted file mode 100644 index 86317d8ab3..0000000000 --- a/v2.8.0/docs/lt-rLT/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/connections.html b/v2.8.0/docs/lt-rLT/user/connections.html deleted file mode 100644 index f263adb201..0000000000 --- a/v2.8.0/docs/lt-rLT/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Aprašymas                     |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Atsijungta     | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/debug-logs.html b/v2.8.0/docs/lt-rLT/user/debug-logs.html deleted file mode 100644 index 93f66d6eb8..0000000000 --- a/v2.8.0/docs/lt-rLT/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/desktop.html b/v2.8.0/docs/lt-rLT/user/desktop.html deleted file mode 100644 index a3e210afd5..0000000000 --- a/v2.8.0/docs/lt-rLT/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/discovery.html b/v2.8.0/docs/lt-rLT/user/discovery.html deleted file mode 100644 index 1bb3467c99..0000000000 --- a/v2.8.0/docs/lt-rLT/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Žinutės kelias
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/firmware.html b/v2.8.0/docs/lt-rLT/user/firmware.html deleted file mode 100644 index 0c7ee51f43..0000000000 --- a/v2.8.0/docs/lt-rLT/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanalas    | Aprašymas                                                                  |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/help-and-docs.html b/v2.8.0/docs/lt-rLT/user/help-and-docs.html deleted file mode 100644 index e7699bf220..0000000000 --- a/v2.8.0/docs/lt-rLT/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/map-and-waypoints.html b/v2.8.0/docs/lt-rLT/user/map-and-waypoints.html deleted file mode 100644 index b944689781..0000000000 --- a/v2.8.0/docs/lt-rLT/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Aprašymas                                               |
- ----------- | ------------------------------------------------------- |
- Pavadinimas | Short identifier (max 29 characters) |
- Aprašymas   | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Užrakintas  | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/messages-and-channels.html b/v2.8.0/docs/lt-rLT/user/messages-and-channels.html deleted file mode 100644 index aa5a8bf3b6..0000000000 --- a/v2.8.0/docs/lt-rLT/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Aprašymas                                                                                                                              |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Klaida                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Klaida           | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Baigėsi laikas   | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Nėra sąsajos     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Nėra kanalo      | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Bloga užklausa   | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/mqtt.html b/v2.8.0/docs/lt-rLT/user/mqtt.html deleted file mode 100644 index fde53152c6..0000000000 --- a/v2.8.0/docs/lt-rLT/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Aprašymas                                                                                     | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Aprašymas                        |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Aprašymas                           | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/node-metrics.html b/v2.8.0/docs/lt-rLT/user/node-metrics.html deleted file mode 100644 index 32205f972d..0000000000 --- a/v2.8.0/docs/lt-rLT/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Aprašymas                           |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Kanalo panaudojimas | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatūra                          | BME280, BME680, SHT31 |
- Drėgmė                               | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Aprašymas                                                                                                                                                                                                                  |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Geras    | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Raudona  |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Aprašymas                                                                      |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality    | Criteria                                                         |
- ---------- | ---------------------------------------------------------------- |
- Geras      | SNR above the preset's limit                                     |
- Pakankamas | less than 5.5 dB below the limit                 |
- Silpnas    | 5.5 dB to 7.5 dB below the limit |
- Nėra       | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Aprašymas               |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Žinutės kelias
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Pozicijos  duomenų žurnalas
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/nodes.html b/v2.8.0/docs/lt-rLT/user/nodes.html deleted file mode 100644 index ba54b3680c..0000000000 --- a/v2.8.0/docs/lt-rLT/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Aprašymas                                                                                                                                              |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtras                    | Aprašymas                                                                            |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Aprašymas                                                          |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator           | Screenshot                                                    |
- ------------------- | ------------------------------------------------------------- |
- Signal quality      | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level       | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count           | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Seniausiai girdėtas | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Atstumas            | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/onboarding.html b/v2.8.0/docs/lt-rLT/user/onboarding.html deleted file mode 100644 index c8f54d06f7..0000000000 --- a/v2.8.0/docs/lt-rLT/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/settings-module-admin.html b/v2.8.0/docs/lt-rLT/user/settings-module-admin.html deleted file mode 100644 index b5d1dc642c..0000000000 --- a/v2.8.0/docs/lt-rLT/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Aprašymas                                                                |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Aprašymas                       |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Aprašymas                   |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Aprašymas                                                                                                                                        |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Aprašymas                         |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Aprašymas                               |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Aprašymas                                                   |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Aprašymas                        |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Aprašymas                                                       |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Aprašymas                                                                                                                            |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Aprašymas                                                  |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Aprašymas                                                                                                                               |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Aprašymas                  |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administravimas
-
-### Nuotolinis administravimas
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Perkrauti
-
-Remotely reboot a connected or administered node.
-
-### Derinimo skydelis
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/settings-radio-user.html b/v2.8.0/docs/lt-rLT/user/settings-radio-user.html deleted file mode 100644 index d5283cae60..0000000000 --- a/v2.8.0/docs/lt-rLT/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Aprašymas                                                                             |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Aprašymas                                                               | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Aprašymas                                                               | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regionas          | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Aprašymas                                                                            |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Aprašymas                          |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Aprašymas                               |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Aprašymas                                            |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Aprašymas                                                                 |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Aprašymas                                                                                                                                                                                                      |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Viešasis raktas           | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Privatus raktas           | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/signal-meter.html b/v2.8.0/docs/lt-rLT/user/signal-meter.html deleted file mode 100644 index 36548d5f1c..0000000000 --- a/v2.8.0/docs/lt-rLT/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
-------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Geras      | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Pakankamas | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Silpnas    | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Nėra       | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/tak.html b/v2.8.0/docs/lt-rLT/user/tak.html deleted file mode 100644 index 8cfcb215da..0000000000 --- a/v2.8.0/docs/lt-rLT/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Aprašymas                  |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Aprašymas                                                                                                                                                                                                                                                                           |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Aprašymas                                                                                                        |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/telemetry-and-sensors.html b/v2.8.0/docs/lt-rLT/user/telemetry-and-sensors.html deleted file mode 100644 index 42cf6d852c..0000000000 --- a/v2.8.0/docs/lt-rLT/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Aprašymas                      | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Kanalo panaudojimas | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatūra | Drėgmė | Pressure | Notes                   |
- ------- | ----------- | ------ | -------- | ----------------------- |
- BME280  | ✓           | ✓      | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓      | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓      | —        | High accuracy           |
- MCP9808 | ✓           | —      | —        | Precision temperature   |
- LPS22   | —           | —      | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Aprašymas                                 |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Aprašymas                    |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/translate.html b/v2.8.0/docs/lt-rLT/user/translate.html deleted file mode 100644 index 1d80a852b3..0000000000 --- a/v2.8.0/docs/lt-rLT/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/units-and-locale.html b/v2.8.0/docs/lt-rLT/user/units-and-locale.html deleted file mode 100644 index d07be68d78..0000000000 --- a/v2.8.0/docs/lt-rLT/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatūra
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/lt-rLT/user/widget.html b/v2.8.0/docs/lt-rLT/user/widget.html deleted file mode 100644 index 55d7692e61..0000000000 --- a/v2.8.0/docs/lt-rLT/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/android-auto.html b/v2.8.0/docs/nl-rNL/user/android-auto.html deleted file mode 100644 index db26ba76fd..0000000000 --- a/v2.8.0/docs/nl-rNL/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Berichten
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/app-functions.html b/v2.8.0/docs/nl-rNL/user/app-functions.html deleted file mode 100644 index 61b0fbb275..0000000000 --- a/v2.8.0/docs/nl-rNL/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/connections.html b/v2.8.0/docs/nl-rNL/user/connections.html deleted file mode 100644 index 4d816c63da..0000000000 --- a/v2.8.0/docs/nl-rNL/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State               | Beschrijving                  |
- ---- | ------------------- | ----------------------------- |
- 🟢   | Verbonden           | Active radio link established |
- 🟡   | Bezig met verbinden | Handshake in progress         |
- 🔴   | Niet verbonden      | No active connection          |
- ⚪    | Not configured      | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/debug-logs.html b/v2.8.0/docs/nl-rNL/user/debug-logs.html deleted file mode 100644 index dfce0daf9b..0000000000 --- a/v2.8.0/docs/nl-rNL/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/desktop.html b/v2.8.0/docs/nl-rNL/user/desktop.html deleted file mode 100644 index 93aee2e6e2..0000000000 --- a/v2.8.0/docs/nl-rNL/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Kaart                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Instellingen                                 | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/discovery.html b/v2.8.0/docs/nl-rNL/user/discovery.html deleted file mode 100644 index fe23d3e086..0000000000 --- a/v2.8.0/docs/nl-rNL/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/firmware.html b/v2.8.0/docs/nl-rNL/user/firmware.html deleted file mode 100644 index 94b160019c..0000000000 --- a/v2.8.0/docs/nl-rNL/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanaal     | Beschrijving                                                               |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/help-and-docs.html b/v2.8.0/docs/nl-rNL/user/help-and-docs.html deleted file mode 100644 index f46c4f33a0..0000000000 --- a/v2.8.0/docs/nl-rNL/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/map-and-waypoints.html b/v2.8.0/docs/nl-rNL/user/map-and-waypoints.html deleted file mode 100644 index abc75a6d70..0000000000 --- a/v2.8.0/docs/nl-rNL/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property     | Beschrijving                                            |
- ------------ | ------------------------------------------------------- |
- Naam         | Short identifier (max 29 characters) |
- Beschrijving | Optional longer description                             |
- Icon         | Visual marker emoji on the map                          |
- Vergrendeld  | If locked, only the creator can edit or delete          |
- Expiration   | Optional auto-remove date and time                      |
- Geofence     | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/messages-and-channels.html b/v2.8.0/docs/nl-rNL/user/messages-and-channels.html deleted file mode 100644 index 1d9660a2b9..0000000000 --- a/v2.8.0/docs/nl-rNL/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanalen
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Beschrijving                                                                                                                           |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Foutmelding                         | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Foutmelding        | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------ | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route           | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK            | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Time-Out           | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Geen Interface     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit     | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Geen Kanaal        | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large          | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response        | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit   | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Ongeldige aanvraag | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/mqtt.html b/v2.8.0/docs/nl-rNL/user/mqtt.html deleted file mode 100644 index bd5e7747c3..0000000000 --- a/v2.8.0/docs/nl-rNL/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Beschrijving                                                                                  | Standaard                                           |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Gebruikersnaam  | Broker authentication                                                                         | meshdev                                             |
- Wachtwoord      | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Beschrijving                     |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Beschrijving                        | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/node-metrics.html b/v2.8.0/docs/nl-rNL/user/node-metrics.html deleted file mode 100644 index 0f4e463f78..0000000000 --- a/v2.8.0/docs/nl-rNL/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric        | Beschrijving                        |
- ------------- | ----------------------------------- |
- Battery Level | Current battery percentage          |
- Spanning      | Battery voltage reading             |
- Kanaalgebruik | Percentage of airtime consumed      |
- Airtime       | Transmission time used by this node |
- Tijd online   | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatuur                          | BME280, BME680, SHT31 |
- Vochtigheid                          | BME280, BME680, SHT31 |
- Luchtdruk                            | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Beschrijving                                                                                                                                                                                                               |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Goed     | < 1000    | Groen    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Rood     |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Beschrijving                                                                   |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Goed    | SNR above the preset's limit                                     |
- Matig   | less than 5.5 dB below the limit                 |
- Slecht  | 5.5 dB to 7.5 dB below the limit |
- Geen    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Beschrijving            |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Huidige     | Power draw in milliamps |
- Vermogen    | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Positie Logboek
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/nodes.html b/v2.8.0/docs/nl-rNL/user/nodes.html deleted file mode 100644 index 8fe34cf708..0000000000 --- a/v2.8.0/docs/nl-rNL/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Functie                          | Beschrijving                                                                                                                                           |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Beschrijving                                                                         |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Beschrijving                                                       |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Laatst gehoord | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Afstand        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/onboarding.html b/v2.8.0/docs/nl-rNL/user/onboarding.html deleted file mode 100644 index 672131249f..0000000000 --- a/v2.8.0/docs/nl-rNL/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/settings-module-admin.html b/v2.8.0/docs/nl-rNL/user/settings-module-admin.html deleted file mode 100644 index 1846508274..0000000000 --- a/v2.8.0/docs/nl-rNL/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Beschrijving                                                             |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Gebruikersnaam  | Authentication username                                                  |
- Wachtwoord      | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Beschrijving                    |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Beschrijving                |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Beschrijving                                                                                                                                     |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Hartslag                                   | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Beschrijving                      |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Beschrijving                            |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Beschrijving                                                |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Berichten          | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Beschrijving                     |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Beschrijving                                                    |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Beschrijving                                                                                                                         |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Beschrijving                                               |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Huidige            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Beschrijving                                                                                                                            |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Beschrijving               |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Beheer
-
-### Extern beheer
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Herstart
-
-Remotely reboot a connected or administered node.
-
-### Debug-paneel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/settings-radio-user.html b/v2.8.0/docs/nl-rNL/user/settings-radio-user.html deleted file mode 100644 index b3f3b4793e..0000000000 --- a/v2.8.0/docs/nl-rNL/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Beschrijving                                                                          |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Apparaat Configuratie
-
- Setting                                    | Beschrijving                                                            | Standaard |
- ------------------------------------------ | ----------------------------------------------------------------------- | --------- |
- Functie                                    | Node behavior (Client, Router, etc.) | Client    |
- Rebroadcast Mode                           | How the node retransmits messages                                       | Alles     |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800     |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled  |
-
-### LoRa Configuratie
-
- Setting           | Beschrijving                                                            | Standaard                                 |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regio             | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Weergave Configuratie
-
- Setting             | Beschrijving                                                                         |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Positie Configuratie
-
- Setting                                   | Beschrijving                       |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Energie configuratie
-
- Setting                                 | Beschrijving                            |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Netwerkconfiguratie
-
- Setting       | Beschrijving                                         |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Configuratie
-
- Setting           | Beschrijving                                                              |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Vaste PIN         | PIN code for pairing (default: 123456) |
-
-### Beveiligings Configuratie
-
- Setting                   | Beschrijving                                                                                                                                                                                                   |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Publieke sleutel          | Your node's public key (read-only)                                                                                                                                                          |
- Admin Sleutel             | Key for remote administration                                                                                                                                                                                  |
- Privésleutel              | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Beheerde modus            | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/signal-meter.html b/v2.8.0/docs/nl-rNL/user/signal-meter.html deleted file mode 100644 index a310429c61..0000000000 --- a/v2.8.0/docs/nl-rNL/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
---- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Goed   | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Matig  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Slecht | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Geen   | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/tak.html b/v2.8.0/docs/nl-rNL/user/tak.html deleted file mode 100644 index c30594200a..0000000000 --- a/v2.8.0/docs/nl-rNL/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Beschrijving               |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Functie         | Beschrijving                                                                                                                                                                                                                                                                        |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Beschrijving                                                                                                     |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/telemetry-and-sensors.html b/v2.8.0/docs/nl-rNL/user/telemetry-and-sensors.html deleted file mode 100644 index f60b6b0581..0000000000 --- a/v2.8.0/docs/nl-rNL/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Beschrijving                   | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Spanning           | Battery voltage                | 3.0–4.2V (LiPo) |
- Kanaalgebruik      | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Tijd online        | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatuur | Vochtigheid | Druk | Notes                   |
- ------- | ----------- | ----------- | ---- | ----------------------- |
- BME280  | ✓           | ✓           | ✓    | Recommended all-in-one  |
- BME680  | ✓           | ✓           | ✓    | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓           | —    | High accuracy           |
- MCP9808 | ✓           | —           | —    | Precision temperature   |
- LPS22   | —           | —           | ✓    | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Beschrijving                              |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Huidige     | Power consumption (mA) |
- Vermogen    | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Beschrijving                 |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/translate.html b/v2.8.0/docs/nl-rNL/user/translate.html deleted file mode 100644 index 88d32a9e5f..0000000000 --- a/v2.8.0/docs/nl-rNL/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/units-and-locale.html b/v2.8.0/docs/nl-rNL/user/units-and-locale.html deleted file mode 100644 index e34eea5dd7..0000000000 --- a/v2.8.0/docs/nl-rNL/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatuur
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Straling                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/nl-rNL/user/widget.html b/v2.8.0/docs/nl-rNL/user/widget.html deleted file mode 100644 index f4c130cd8d..0000000000 --- a/v2.8.0/docs/nl-rNL/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/android-auto.html b/v2.8.0/docs/no-rNO/user/android-auto.html deleted file mode 100644 index 186db85023..0000000000 --- a/v2.8.0/docs/no-rNO/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/app-functions.html b/v2.8.0/docs/no-rNO/user/app-functions.html deleted file mode 100644 index 8fd91ad635..0000000000 --- a/v2.8.0/docs/no-rNO/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/connections.html b/v2.8.0/docs/no-rNO/user/connections.html deleted file mode 100644 index aeab69867a..0000000000 --- a/v2.8.0/docs/no-rNO/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Beskrivelse                   |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Frakoblet      | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/debug-logs.html b/v2.8.0/docs/no-rNO/user/debug-logs.html deleted file mode 100644 index e204d85a5d..0000000000 --- a/v2.8.0/docs/no-rNO/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/desktop.html b/v2.8.0/docs/no-rNO/user/desktop.html deleted file mode 100644 index fd47c88db0..0000000000 --- a/v2.8.0/docs/no-rNO/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/discovery.html b/v2.8.0/docs/no-rNO/user/discovery.html deleted file mode 100644 index 93afeeabc8..0000000000 --- a/v2.8.0/docs/no-rNO/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/firmware.html b/v2.8.0/docs/no-rNO/user/firmware.html deleted file mode 100644 index 53b3595d09..0000000000 --- a/v2.8.0/docs/no-rNO/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal      | Beskrivelse                                                                |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/help-and-docs.html b/v2.8.0/docs/no-rNO/user/help-and-docs.html deleted file mode 100644 index 248bbc56c3..0000000000 --- a/v2.8.0/docs/no-rNO/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/map-and-waypoints.html b/v2.8.0/docs/no-rNO/user/map-and-waypoints.html deleted file mode 100644 index 674927c5af..0000000000 --- a/v2.8.0/docs/no-rNO/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Beskrivelse                                             |
- ----------- | ------------------------------------------------------- |
- Navn        | Short identifier (max 29 characters) |
- Beskrivelse | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Låst        | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/messages-and-channels.html b/v2.8.0/docs/no-rNO/user/messages-and-channels.html deleted file mode 100644 index 6c90377d06..0000000000 --- a/v2.8.0/docs/no-rNO/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Beskrivelse                                                                                                                            |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Feil                                | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Feil                | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Tidsavbrudd         | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Ingen grensesnitt   | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Ingen Kanal         | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response         | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Ugyldig Forespørsel | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/mqtt.html b/v2.8.0/docs/no-rNO/user/mqtt.html deleted file mode 100644 index b8f029b88a..0000000000 --- a/v2.8.0/docs/no-rNO/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Beskrivelse                                                                                   | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Beskrivelse                      |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Beskrivelse                         | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/node-metrics.html b/v2.8.0/docs/no-rNO/user/node-metrics.html deleted file mode 100644 index e31673183f..0000000000 --- a/v2.8.0/docs/no-rNO/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric          | Beskrivelse                         |
- --------------- | ----------------------------------- |
- Battery Level   | Current battery percentage          |
- Voltage         | Battery voltage reading             |
- Kanalutnyttelse | Percentage of airtime consumed      |
- Airtime         | Transmission time used by this node |
- Uptime          | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatur                           | BME280, BME680, SHT31 |
- Luftfuktighet                        | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Beskrivelse                                                                                                                                                                                                                |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Godt     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Beskrivelse                                                                    |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality     | Criteria                                                         |
- ----------- | ---------------------------------------------------------------- |
- Godt        | SNR above the preset's limit                                     |
- Middelmådig | less than 5.5 dB below the limit                 |
- Dårlig      | 5.5 dB to 7.5 dB below the limit |
- Ingen       | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Beskrivelse             |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Posisjonslogg
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/nodes.html b/v2.8.0/docs/no-rNO/user/nodes.html deleted file mode 100644 index bc8cd7d221..0000000000 --- a/v2.8.0/docs/no-rNO/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Beskrivelse                                                                                                                                            |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Beskrivelse                                                                          |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Beskrivelse                                                        |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Sist hørt      | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distanse       | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/onboarding.html b/v2.8.0/docs/no-rNO/user/onboarding.html deleted file mode 100644 index e34289d825..0000000000 --- a/v2.8.0/docs/no-rNO/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/settings-module-admin.html b/v2.8.0/docs/no-rNO/user/settings-module-admin.html deleted file mode 100644 index dfe71fe115..0000000000 --- a/v2.8.0/docs/no-rNO/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Beskrivelse                                                              |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Beskrivelse                     |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Beskrivelse                 |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Beskrivelse                                                                                                                                      |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Beskrivelse                       |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Beskrivelse                             |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Beskrivelse                                                 |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Beskrivelse                      |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Beskrivelse                                                     |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Beskrivelse                                                                                                                          |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Beskrivelse                                                |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Beskrivelse                                                                                                                             |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Beskrivelse                |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administrasjon
-
-### Fjernadministrasjon
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Omstart
-
-Remotely reboot a connected or administered node.
-
-### Feilsøkningspanel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/settings-radio-user.html b/v2.8.0/docs/no-rNO/user/settings-radio-user.html deleted file mode 100644 index 3b5eff96fa..0000000000 --- a/v2.8.0/docs/no-rNO/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Beskrivelse                                                                           |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Beskrivelse                                                             | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Beskrivelse                                                             | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Region            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Beskrivelse                                                                          |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Beskrivelse                        |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Beskrivelse                             |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Beskrivelse                                          |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Beskrivelse                                                               |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Beskrivelse                                                                                                                                                                                                    |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Offentlig nøkkel          | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Privat nøkkel             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/signal-meter.html b/v2.8.0/docs/no-rNO/user/signal-meter.html deleted file mode 100644 index ea6ec579d3..0000000000 --- a/v2.8.0/docs/no-rNO/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Godt        | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Middelmådig | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Dårlig      | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Ingen       | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/tak.html b/v2.8.0/docs/no-rNO/user/tak.html deleted file mode 100644 index bc172fd389..0000000000 --- a/v2.8.0/docs/no-rNO/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Beskrivelse                |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Beskrivelse                                                                                                                                                                                                                                                                         |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Beskrivelse                                                                                                      |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/telemetry-and-sensors.html b/v2.8.0/docs/no-rNO/user/telemetry-and-sensors.html deleted file mode 100644 index b27a44e58a..0000000000 --- a/v2.8.0/docs/no-rNO/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Beskrivelse                    | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Voltage            | Battery voltage                | 3.0–4.2V (LiPo) |
- Kanalutnyttelse    | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Uptime             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatur | Luftfuktighet | Pressure | Notes                   |
- ------- | ---------- | ------------- | -------- | ----------------------- |
- BME280  | ✓          | ✓             | ✓        | Recommended all-in-one  |
- BME680  | ✓          | ✓             | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓          | ✓             | —        | High accuracy           |
- MCP9808 | ✓          | —             | —        | Precision temperature   |
- LPS22   | —          | —             | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Beskrivelse                               |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Beskrivelse                  |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/translate.html b/v2.8.0/docs/no-rNO/user/translate.html deleted file mode 100644 index e5df674c86..0000000000 --- a/v2.8.0/docs/no-rNO/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/units-and-locale.html b/v2.8.0/docs/no-rNO/user/units-and-locale.html deleted file mode 100644 index 7d7dee397c..0000000000 --- a/v2.8.0/docs/no-rNO/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatur
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/no-rNO/user/widget.html b/v2.8.0/docs/no-rNO/user/widget.html deleted file mode 100644 index 6e55219e11..0000000000 --- a/v2.8.0/docs/no-rNO/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/android-auto.html b/v2.8.0/docs/pl-rPL/user/android-auto.html deleted file mode 100644 index 6cc132cddb..0000000000 --- a/v2.8.0/docs/pl-rPL/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Wiadomości
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Węzły
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/app-functions.html b/v2.8.0/docs/pl-rPL/user/app-functions.html deleted file mode 100644 index 04366dbe6a..0000000000 --- a/v2.8.0/docs/pl-rPL/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/connections.html b/v2.8.0/docs/pl-rPL/user/connections.html deleted file mode 100644 index 2c77c8b271..0000000000 --- a/v2.8.0/docs/pl-rPL/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Opis                          |
- ---- | -------------- | ----------------------------- |
- 🟢   | Połączony      | Active radio link established |
- 🟡   | Łączenie       | Handshake in progress         |
- 🔴   | Rozłączono     | No active connection          |
- ⚪    | Not configured | Nie wybrano urządzenia        |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/debug-logs.html b/v2.8.0/docs/pl-rPL/user/debug-logs.html deleted file mode 100644 index 926b5aad8e..0000000000 --- a/v2.8.0/docs/pl-rPL/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/desktop.html b/v2.8.0/docs/pl-rPL/user/desktop.html deleted file mode 100644 index 59882e69b9..0000000000 --- a/v2.8.0/docs/pl-rPL/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notatki                                                                                   |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mapa                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Ustawienia                                   | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Aktualizacja oprogramowania                  | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/discovery.html b/v2.8.0/docs/pl-rPL/user/discovery.html deleted file mode 100644 index a665504fd7..0000000000 --- a/v2.8.0/docs/pl-rPL/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Wykorzystanie kanału                     | How busy the airwaves were during the dwell.                                   |
- Czas nadawania                           | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Pokaż trasę
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/firmware.html b/v2.8.0/docs/pl-rPL/user/firmware.html deleted file mode 100644 index 467d4209e8..0000000000 --- a/v2.8.0/docs/pl-rPL/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanał      | Opis                                                                       |
- ---------- | -------------------------------------------------------------------------- |
- Stabilna   | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/help-and-docs.html b/v2.8.0/docs/pl-rPL/user/help-and-docs.html deleted file mode 100644 index b1ac2ac7f9..0000000000 --- a/v2.8.0/docs/pl-rPL/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/map-and-waypoints.html b/v2.8.0/docs/pl-rPL/user/map-and-waypoints.html deleted file mode 100644 index 3f372ae2ef..0000000000 --- a/v2.8.0/docs/pl-rPL/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Opis                                                    |
- ----------- | ------------------------------------------------------- |
- Nazwa       | Short identifier (max 29 characters) |
- Opis        | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Zablokowany | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Warstwy map
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/messages-and-channels.html b/v2.8.0/docs/pl-rPL/user/messages-and-channels.html deleted file mode 100644 index 1d55119a77..0000000000 --- a/v2.8.0/docs/pl-rPL/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanały
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Bezpieczeństwo kanału
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Opis                                                                                                                                   |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Bezpośrednie Wiadomości
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Błąd                                | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Błąd             | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Brak trasy       | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Limit czasu      | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Brak interfejsu  | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Brak kanału      | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Brak odpowiedzi  | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Złe żądanie      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Typ           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/mqtt.html b/v2.8.0/docs/pl-rPL/user/mqtt.html deleted file mode 100644 index e22b0e69f4..0000000000 --- a/v2.8.0/docs/pl-rPL/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Konfiguracja
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting           | Opis                                                                                          | Domyślny                                            |
- ----------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address    | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Nazwa użytkownika | Broker authentication                                                                         | meshdev                                             |
- Hasło             | Broker authentication                                                                         | large4cats                                          |
- Root Topic        | Base topic for messages                                                                       | msh                                                 |
- Szyfrowanie       | Encrypt MQTT payload                                                                          | Włączony                                            |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Wyłączony                                           |
- TLS               | Secure connection to broker                                                                   | Wyłączony                                           |
- Map Reporting     | Report position to public map                                                                 | Wyłączony                                           |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Opis                             |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Opis                                | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/node-metrics.html b/v2.8.0/docs/pl-rPL/user/node-metrics.html deleted file mode 100644 index f133f7e3fd..0000000000 --- a/v2.8.0/docs/pl-rPL/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Metryka urządzenia
-
-Basic operating information reported by each node:
-
- Metric                     | Opis                                |
- -------------------------- | ----------------------------------- |
- Poziom naładowania baterii | Current battery percentage          |
- Napięcie                   | Battery voltage reading             |
- Wykorzystanie kanału       | Percentage of airtime consumed      |
- Czas nadawania             | Transmission time used by this node |
- Czas pracy                 | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Metryki środowiskowe
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura                          | BME280, BME680, SHT31 |
- Wilgotność                           | BME280, BME680, SHT31 |
- Ciśnienie barometryczne              | BME280, BMP280        |
- Rezystancja gazu                     | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Opis                                                                                                                                                                                                                       |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- dobry    | < 1000    | Zielony  |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Czerwony |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric                | Opis                                                                           |
- --------------------- | ------------------------------------------------------------------------------ |
- SNR:  | Signal-to-Noise Ratio (higher is better)                    |
- RSSI: | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor           | Local background RF noise in dBm (more negative is quieter) |
- Hop Count             | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality       | Criteria                                                         |
- ------------- | ---------------------------------------------------------------- |
- dobry         | SNR above the preset's limit                                     |
- wystarczający | less than 5.5 dB below the limit                 |
- słaby         | 5.5 dB to 7.5 dB below the limit |
- Brak          | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Metryki zasilania
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Opis                    |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Natężenie   | Power draw in milliamps |
- Zasilanie   | Calculated wattage      |
-
-## Pokaż trasę
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Historia pozycji
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Wysokość
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informacje o sąsiadze
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/nodes.html b/v2.8.0/docs/pl-rPL/user/nodes.html deleted file mode 100644 index 9a646c0e06..0000000000 --- a/v2.8.0/docs/pl-rPL/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Węzły - - - -
# Węzły
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Rola                             | Opis                                                                                                                                                   |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Klient                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Klient pasywny                   | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Czujnik                          | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Usuń węzeł
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtr                      | Opis                                                                                 |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Opis                                                               |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator                  | Screenshot                                                    |
- -------------------------- | ------------------------------------------------------------- |
- Signal quality             | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Poziom naładowania baterii | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count                  | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Aktywność                  | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Odległość                  | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/onboarding.html b/v2.8.0/docs/pl-rPL/user/onboarding.html deleted file mode 100644 index 61918ef4ee..0000000000 --- a/v2.8.0/docs/pl-rPL/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/settings-module-admin.html b/v2.8.0/docs/pl-rPL/user/settings-module-admin.html deleted file mode 100644 index d203dbd81a..0000000000 --- a/v2.8.0/docs/pl-rPL/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Konfiguracja modułu
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting           | Opis                                                                     |
- ----------------- | ------------------------------------------------------------------------ |
- Włączony          | Toggle MQTT bridge                                                       |
- Serwer            | MQTT broker address                                                      |
- Nazwa użytkownika | Authentication username                                                  |
- Hasło             | Authentication password                                                  |
- Szyfrowanie       | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~   | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS               | Use secure connection                                                    |
- Root Topic        | Base MQTT topic path                                                     |
- Map Report        | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Opis                            |
- ---------- | ------------------------------- |
- Włączony   | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Tryb       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Opis                        |
- -------------------------------- | --------------------------- |
- Włączony                         | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Opis                                                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Włączony                                   | Activate store and forward                                                                                                                       |
- Bicie serca                                | Periodically announce this node's store-and-forward capability                                                                                   |
- Wpisów                                     | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Serwer                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Opis                              |
- -------------------------------------- | --------------------------------- |
- Włączony                               | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Opis                                    |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Opis                                                        |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Wiadomości         | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Opis                             |
- --------------- | -------------------------------- |
- Włączony        | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Opis                                                            |
- -------------------- | --------------------------------------------------------------- |
- Włączony             | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Opis                                                                                                                                 |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Włączony                               | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Opis                                                       |
- ------------------ | ---------------------------------------------------------- |
- Stan diody LED     | Turn the LED on or off                                     |
- Natężenie          | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Opis                                                                                                                                    |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Włączony                                 | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Opis                       |
- -------------------------------------- | -------------------------- |
- Włączony                               | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Zarządzanie
-
-### Zdalne zarządzanie
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Wyczyść bazę węzłów
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Uruchom ponownie
-
-Remotely reboot a connected or administered node.
-
-### Panel debugowania
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/settings-radio-user.html b/v2.8.0/docs/pl-rPL/user/settings-radio-user.html deleted file mode 100644 index 1518a4bff1..0000000000 --- a/v2.8.0/docs/pl-rPL/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Opis                                                                                  |
- ----------------- | ------------------------------------------------------------------------------------- |
- Długa nazwa       | Your display name (up to 39 characters)                            |
- Krótka nazwa      | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Konfiguracja
-
-### Konfiguracja urządzenia
-
- Setting                                    | Opis                                                                    | Domyślny  |
- ------------------------------------------ | ----------------------------------------------------------------------- | --------- |
- Rola                                       | Node behavior (Client, Router, etc.) | Klient    |
- Tryb retransmisji                          | How the node retransmits messages                                       | Wszystkie |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800     |
- Double-tap Button                          | Action for double-tap button press                                      | Wyłączony |
-
-### Konfiguracja LoRa
-
- Setting                     | Opis                                                                    | Domyślny                                  |
- --------------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Region                      | Regulatory region for frequency bands                                   | Unset (must configure) |
- Ustawienie modemu           | Speed/range tradeoff                                                    | LongFast                                  |
- Limit przeskoków            | Maximum retransmit hops                                                 | 3                                         |
- TX Power                    | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Przesunięcie częstotliwości | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth           | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Prędkość                  | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Konfiguracja wyświetlacza
-
- Setting                | Opis                                                                                 |
- ---------------------- | ------------------------------------------------------------------------------------ |
- Wygaszenie ekranu      | Time before display sleeps                                                           |
- Jednostki wyświetlania | Metric or Imperial                                                                   |
- Typ ekranu OLED        | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation    | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~      | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Konfiguracja pozycjonowania
-
- Setting                                   | Opis                               |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- Interwał aktualizacji pozycji GPS         | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Inteligentne Pozycjonowanie               | Enable movement-based broadcasting |
- Położenie stałe                           | Use a manually set position        |
-
-### Konfiguracja zarządzania energią
-
- Setting                                 | Opis                                    |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Konfiguracja sieci
-
- Setting       | Opis                                                 |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Hasło do sieci                                       |
- Serwer NTP    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Konfiguracja Bluetooth
-
- Setting           | Opis                                                                      |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Tryb parowania    | Fixed PIN, Random PIN, or No PIN                                          |
- Stały PIN         | PIN code for pairing (default: 123456) |
-
-### Konfiguracja zabezpieczeń
-
- Setting                   | Opis                                                                                                                                                                                                           |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Klucz publiczny           | Your node's public key (read-only)                                                                                                                                                          |
- Klucz administratora      | Key for remote administration                                                                                                                                                                                  |
- Klucz prywatny            | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Klucze zapasowe           | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/signal-meter.html b/v2.8.0/docs/pl-rPL/user/signal-meter.html deleted file mode 100644 index 5feeda97b5..0000000000 --- a/v2.8.0/docs/pl-rPL/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
----------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- dobry         | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- wystarczający | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- słaby         | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Brak          | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/tak.html b/v2.8.0/docs/pl-rPL/user/tak.html deleted file mode 100644 index 02ec4e6cd0..0000000000 --- a/v2.8.0/docs/pl-rPL/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Konfiguracja
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting  | Opis                       |
- -------- | -------------------------- |
- Włączony | Activate TAK interop       |
- Tryb     | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Rola            | Opis                                                                                                                                                                                                                                                                                |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Opis                                                                                                             |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/telemetry-and-sensors.html b/v2.8.0/docs/pl-rPL/user/telemetry-and-sensors.html deleted file mode 100644 index 4d7c6e6978..0000000000 --- a/v2.8.0/docs/pl-rPL/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric                     | Opis                           | Typical Range                                                      |
- -------------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Poziom naładowania baterii | Charge percentage              | 0–100%                                                             |
- Napięcie                   | Battery voltage                | 3.0–4.2V (LiPo) |
- Wykorzystanie kanału       | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX         | % of airtime used by this node | 0–100%                                                             |
- Czas pracy                 | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Czujnik | Temperatura | Wilgotność | Ciśnienie | Notatki                 |
- ------- | ----------- | ---------- | --------- | ----------------------- |
- BME280  | ✓           | ✓          | ✓         | Recommended all-in-one  |
- BME680  | ✓           | ✓          | ✓         | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓          | —         | High accuracy           |
- MCP9808 | ✓           | —          | —         | Precision temperature   |
- LPS22   | —           | —          | ✓         | Pressure only           |
-
-### Air Quality
-
- Czujnik  | Metric                                             | Notatki                    |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Czujnik  | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Metryki zasilania
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Opis                                      |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Natężenie   | Power consumption (mA) |
- Zasilanie   | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Opis                         |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/translate.html b/v2.8.0/docs/pl-rPL/user/translate.html deleted file mode 100644 index d00eef7f11..0000000000 --- a/v2.8.0/docs/pl-rPL/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/units-and-locale.html b/v2.8.0/docs/pl-rPL/user/units-and-locale.html deleted file mode 100644 index e3760fd9bc..0000000000 --- a/v2.8.0/docs/pl-rPL/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Wysokość |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Prędkość
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wiatr
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Promieniowanie                   | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pl-rPL/user/widget.html b/v2.8.0/docs/pl-rPL/user/widget.html deleted file mode 100644 index 66374c8eca..0000000000 --- a/v2.8.0/docs/pl-rPL/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/android-auto.html b/v2.8.0/docs/pt-rBR/user/android-auto.html deleted file mode 100644 index e359849010..0000000000 --- a/v2.8.0/docs/pt-rBR/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Mensagens
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nós
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/app-functions.html b/v2.8.0/docs/pt-rBR/user/app-functions.html deleted file mode 100644 index c21819bf6a..0000000000 --- a/v2.8.0/docs/pt-rBR/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/connections.html b/v2.8.0/docs/pt-rBR/user/connections.html deleted file mode 100644 index 92368d9d12..0000000000 --- a/v2.8.0/docs/pt-rBR/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Conexões - - - -
# Conexões
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Descrição                     |
- ---- | -------------- | ----------------------------- |
- 🟢   | Conectado      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Desconectado   | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/debug-logs.html b/v2.8.0/docs/pt-rBR/user/debug-logs.html deleted file mode 100644 index 6b6f6c70e6..0000000000 --- a/v2.8.0/docs/pt-rBR/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/desktop.html b/v2.8.0/docs/pt-rBR/user/desktop.html deleted file mode 100644 index 03f7e3a2a6..0000000000 --- a/v2.8.0/docs/pt-rBR/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mapa                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Configurações                                | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/discovery.html b/v2.8.0/docs/pt-rBR/user/discovery.html deleted file mode 100644 index 27b78fb46b..0000000000 --- a/v2.8.0/docs/pt-rBR/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traçar rota
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/firmware.html b/v2.8.0/docs/pt-rBR/user/firmware.html deleted file mode 100644 index 84d4be6f9e..0000000000 --- a/v2.8.0/docs/pt-rBR/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canal      | Descrição                                                                  |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/help-and-docs.html b/v2.8.0/docs/pt-rBR/user/help-and-docs.html deleted file mode 100644 index d610d60c40..0000000000 --- a/v2.8.0/docs/pt-rBR/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/map-and-waypoints.html b/v2.8.0/docs/pt-rBR/user/map-and-waypoints.html deleted file mode 100644 index 60c89a05ff..0000000000 --- a/v2.8.0/docs/pt-rBR/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Descrição                                               |
- ---------- | ------------------------------------------------------- |
- Nome       | Short identifier (max 29 characters) |
- Descrição  | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Bloqueado  | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Camadas do Mapa
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/messages-and-channels.html b/v2.8.0/docs/pt-rBR/user/messages-and-channels.html deleted file mode 100644 index 2c8258236e..0000000000 --- a/v2.8.0/docs/pt-rBR/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Canais
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Segurança do Canal
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descrição                                                                                                                              |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Erro                                | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Erro                | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Tempo esgotado      | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Sem interface       | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Nenhum canal        | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response         | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Requisição Inválida | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tipo          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/mqtt.html b/v2.8.0/docs/pt-rBR/user/mqtt.html deleted file mode 100644 index a9a8a186f1..0000000000 --- a/v2.8.0/docs/pt-rBR/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Descrição                                                                                     | Padrão                                              |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Nome de usuário | Broker authentication                                                                         | meshdev                                             |
- Senha           | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descrição                        |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descrição                           | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/node-metrics.html b/v2.8.0/docs/pt-rBR/user/node-metrics.html deleted file mode 100644 index 12a20b3314..0000000000 --- a/v2.8.0/docs/pt-rBR/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Descrição                           |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltagem            | Battery voltage reading             |
- Utilização do Canal | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura                          | BME280, BME680, SHT31 |
- Umidade                              | BME280, BME680, SHT31 |
- Pressão Barométrica                  | BME280, BMP280        |
- Resistência ao gás                   | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Descrição                                                                                                                                                                                                                  |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Bom      | < 1000    | Verde    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Vermelho |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Descrição                                                                      |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Bom     | SNR above the preset's limit                                     |
- Média   | less than 5.5 dB below the limit                 |
- Ruim    | 5.5 dB to 7.5 dB below the limit |
- Nenhum  | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Descrição               |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Atual       | Power draw in milliamps |
- Energia     | Calculated wattage      |
-
-## Traçar rota
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Log de Posição
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informações do Vizinho
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/nodes.html b/v2.8.0/docs/pt-rBR/user/nodes.html deleted file mode 100644 index 5e24b6f3a1..0000000000 --- a/v2.8.0/docs/pt-rBR/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nós - - - -
# Nós
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Função                           | Descrição                                                                                                                                              |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtro                     | Descrição                                                                            |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descrição                                                          |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator             | Screenshot                                                    |
- --------------------- | ------------------------------------------------------------- |
- Signal quality        | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level         | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count             | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Visto pela última vez | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distância             | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/onboarding.html b/v2.8.0/docs/pt-rBR/user/onboarding.html deleted file mode 100644 index f482d3325b..0000000000 --- a/v2.8.0/docs/pt-rBR/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/settings-module-admin.html b/v2.8.0/docs/pt-rBR/user/settings-module-admin.html deleted file mode 100644 index b42182ffab..0000000000 --- a/v2.8.0/docs/pt-rBR/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Descrição                                                                |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Servidor        | MQTT broker address                                                      |
- Nome de usuário | Authentication username                                                  |
- Senha           | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Descrição                       |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Descrição                   |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Descrição                                                                                                                                        |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Batimento                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Servidor                                   | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Descrição                         |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Descrição                               |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Descrição                                                   |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Mensagens          | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Descrição                        |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Descrição                                                       |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Descrição                                                                                                                            |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Descrição                                                  |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Atual              | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Descrição                                                                                                                               |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Descrição                  |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administração
-
-### Administração Remota
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Limpar Banco de Dados de Nó
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reiniciar
-
-Remotely reboot a connected or administered node.
-
-### Painel de depuração
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/settings-radio-user.html b/v2.8.0/docs/pt-rBR/user/settings-radio-user.html deleted file mode 100644 index 21a18930e3..0000000000 --- a/v2.8.0/docs/pt-rBR/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Descrição                                                                             |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Configuração do Dispositivo
-
- Setting                                    | Descrição                                                               | Padrão   |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Função                                     | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### Configuração do LoRa
-
- Setting               | Descrição                                                               | Padrão                                    |
- --------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Região                | Regulatory region for frequency bands                                   | Unset (must configure) |
- Predefinição do Modem | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit             | Maximum retransmit hops                                                 | 3                                         |
- TX Power              | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset      | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth     | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Velocidade                | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Configuração da Tela
-
- Setting             | Descrição                                                                            |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Configuração da Posição
-
- Setting                                   | Descrição                          |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Configuração de Energia
-
- Setting                                 | Descrição                               |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Configuração de Rede
-
- Setting       | Descrição                                            |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Configuração do Bluetooth
-
- Setting           | Descrição                                                                 |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- PIN fixo          | PIN code for pairing (default: 123456) |
-
-### Configurações de Segurança
-
- Setting                   | Descrição                                                                                                                                                                                                      |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Chave Publica             | Your node's public key (read-only)                                                                                                                                                          |
- Chave do Administrador    | Key for remote administration                                                                                                                                                                                  |
- Chave Privada             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Modo Administrado         | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/signal-meter.html b/v2.8.0/docs/pt-rBR/user/signal-meter.html deleted file mode 100644 index 7e660129fa..0000000000 --- a/v2.8.0/docs/pt-rBR/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
---- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bom    | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Média  | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Ruim   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Nenhum | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/tak.html b/v2.8.0/docs/pt-rBR/user/tak.html deleted file mode 100644 index 0203c0555e..0000000000 --- a/v2.8.0/docs/pt-rBR/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Descrição                  |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Função          | Descrição                                                                                                                                                                                                                                                                           |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Descrição                                                                                                        |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/telemetry-and-sensors.html b/v2.8.0/docs/pt-rBR/user/telemetry-and-sensors.html deleted file mode 100644 index 565ebeda66..0000000000 --- a/v2.8.0/docs/pt-rBR/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Descrição                      | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltagem            | Battery voltage                | 3.0–4.2V (LiPo) |
- Utilização do Canal | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatura | Umidade | Pressão | Notes                   |
- ------- | ----------- | ------- | ------- | ----------------------- |
- BME280  | ✓           | ✓       | ✓       | Recommended all-in-one  |
- BME680  | ✓           | ✓       | ✓       | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓       | —       | High accuracy           |
- MCP9808 | ✓           | —       | —       | Precision temperature   |
- LPS22   | —           | —       | ✓       | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Descrição                                 |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Atual       | Power consumption (mA) |
- Energia     | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Descrição                    |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/translate.html b/v2.8.0/docs/pt-rBR/user/translate.html deleted file mode 100644 index 84216a0c3d..0000000000 --- a/v2.8.0/docs/pt-rBR/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/units-and-locale.html b/v2.8.0/docs/pt-rBR/user/units-and-locale.html deleted file mode 100644 index 61d398e108..0000000000 --- a/v2.8.0/docs/pt-rBR/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Velocidade
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vento
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiação                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rBR/user/widget.html b/v2.8.0/docs/pt-rBR/user/widget.html deleted file mode 100644 index d0f2e117e1..0000000000 --- a/v2.8.0/docs/pt-rBR/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/android-auto.html b/v2.8.0/docs/pt-rPT/user/android-auto.html deleted file mode 100644 index 8f9b1191b2..0000000000 --- a/v2.8.0/docs/pt-rPT/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Mensagens
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/app-functions.html b/v2.8.0/docs/pt-rPT/user/app-functions.html deleted file mode 100644 index d9c603c0e4..0000000000 --- a/v2.8.0/docs/pt-rPT/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/connections.html b/v2.8.0/docs/pt-rPT/user/connections.html deleted file mode 100644 index b67be2d5e3..0000000000 --- a/v2.8.0/docs/pt-rPT/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Ligações - - - -
# Ligações
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Descrição                     |
- ---- | -------------- | ----------------------------- |
- 🟢   | Ligado         | Active radio link established |
- 🟡   | A ligar        | Handshake in progress         |
- 🔴   | Desconectado   | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/debug-logs.html b/v2.8.0/docs/pt-rPT/user/debug-logs.html deleted file mode 100644 index 98c784d145..0000000000 --- a/v2.8.0/docs/pt-rPT/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/desktop.html b/v2.8.0/docs/pt-rPT/user/desktop.html deleted file mode 100644 index 8c540116f4..0000000000 --- a/v2.8.0/docs/pt-rPT/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mapa                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Definições                                   | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/discovery.html b/v2.8.0/docs/pt-rPT/user/discovery.html deleted file mode 100644 index 12a9c56178..0000000000 --- a/v2.8.0/docs/pt-rPT/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traçar rota
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/firmware.html b/v2.8.0/docs/pt-rPT/user/firmware.html deleted file mode 100644 index 21b8b8d819..0000000000 --- a/v2.8.0/docs/pt-rPT/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canal      | Descrição                                                                  |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/help-and-docs.html b/v2.8.0/docs/pt-rPT/user/help-and-docs.html deleted file mode 100644 index ede2d08205..0000000000 --- a/v2.8.0/docs/pt-rPT/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/map-and-waypoints.html b/v2.8.0/docs/pt-rPT/user/map-and-waypoints.html deleted file mode 100644 index bc51b54323..0000000000 --- a/v2.8.0/docs/pt-rPT/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Descrição                                               |
- ---------- | ------------------------------------------------------- |
- Nome       | Short identifier (max 29 characters) |
- Descrição  | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Bloqueado  | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/messages-and-channels.html b/v2.8.0/docs/pt-rPT/user/messages-and-channels.html deleted file mode 100644 index a0d39e89d5..0000000000 --- a/v2.8.0/docs/pt-rPT/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Canal
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descrição                                                                                                                              |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Erros                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Erros            | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Sem interface    | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Sem canal        | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Pedido Inválido  | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tipo          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/mqtt.html b/v2.8.0/docs/pt-rPT/user/mqtt.html deleted file mode 100644 index a4ae7dbb87..0000000000 --- a/v2.8.0/docs/pt-rPT/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuração
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Descrição                                                                                     | Predefinição                                        |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Utilizador      | Broker authentication                                                                         | meshdev                                             |
- Palavra-passe   | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descrição                        |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descrição                           | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/node-metrics.html b/v2.8.0/docs/pt-rPT/user/node-metrics.html deleted file mode 100644 index 69a509bcf7..0000000000 --- a/v2.8.0/docs/pt-rPT/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Descrição                           |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltagem            | Battery voltage reading             |
- Utilização do canal | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Tempo ativo         | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura                          | BME280, BME680, SHT31 |
- Humidade                             | BME280, BME680, SHT31 |
- Pressão atmosférica                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Descrição                                                                                                                                                                                                                  |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Bom      | < 1000    | Verde    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Vermelho |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Descrição                                                                      |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality  | Criteria                                                         |
- -------- | ---------------------------------------------------------------- |
- Bom      | SNR above the preset's limit                                     |
- Razoável | less than 5.5 dB below the limit                 |
- Mau      | 5.5 dB to 7.5 dB below the limit |
- Nenhum   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Descrição               |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Atual       | Power draw in milliamps |
- Energia     | Calculated wattage      |
-
-## Traçar rota
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Histórico de posição
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informações da vizinhança
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/nodes.html b/v2.8.0/docs/pt-rPT/user/nodes.html deleted file mode 100644 index bc153e1c66..0000000000 --- a/v2.8.0/docs/pt-rPT/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Papel                                       | Descrição                                                                                                                                              |
- ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Cliente                                     | Standard end-user device                                                                                                                               |
- Client Base                                 | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Cliente silenciado                          | Receives but doesn't retransmit                                                                                                                        |
- Cliente oculto                              | Like Client Mute, plus hides from node list                                                                                                            |
- Roteador                                    | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                                 | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                           | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                                | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Monitor                                     | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                                      | Optimized for telemetry reporting                                                                                                                      |
- TAK — ‘Kit’ de Consciencialização da Equipa | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                                 | TAK position reporting only                                                                                                                            |
- Lost & Found            | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtrar                    | Descrição                                                                            |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descrição                                                          |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator       | Screenshot                                                    |
- --------------- | ------------------------------------------------------------- |
- Signal quality  | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level   | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count       | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Último recebido | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distância       | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/onboarding.html b/v2.8.0/docs/pt-rPT/user/onboarding.html deleted file mode 100644 index 4cce2cdb31..0000000000 --- a/v2.8.0/docs/pt-rPT/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/settings-module-admin.html b/v2.8.0/docs/pt-rPT/user/settings-module-admin.html deleted file mode 100644 index 6512479229..0000000000 --- a/v2.8.0/docs/pt-rPT/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Descrição                                                                |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Servidor        | MQTT broker address                                                      |
- Utilizador      | Authentication username                                                  |
- Palavra-passe   | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Descrição                       |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Descrição                   |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Descrição                                                                                                                                        |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Batimento                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Servidor                                   | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Descrição                         |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Descrição                               |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Descrição                                                   |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Mensagens          | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Descrição                        |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Descrição                                                       |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Descrição                                                                                                                            |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Descrição                                                  |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Atual              | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Descrição                                                                                                                               |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Descrição                  |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administração
-
-### Administração Remota
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reiniciar
-
-Remotely reboot a connected or administered node.
-
-### Painel de depuração
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/settings-radio-user.html b/v2.8.0/docs/pt-rPT/user/settings-radio-user.html deleted file mode 100644 index 941c25d525..0000000000 --- a/v2.8.0/docs/pt-rPT/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Descrição                                                                             |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuração
-
-### Configuração do Dispositivo
-
- Setting                                    | Descrição                                                               | Predefinição |
- ------------------------------------------ | ----------------------------------------------------------------------- | ------------ |
- Papel                                      | Node behavior (Client, Router, etc.) | Cliente      |
- Rebroadcast Mode                           | How the node retransmits messages                                       | Tudo         |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800        |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled     |
-
-### Configuração de LoRa
-
- Setting               | Descrição                                                               | Predefinição                              |
- --------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Região                | Regulatory region for frequency bands                                   | Unset (must configure) |
- Predefinição de modem | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit             | Maximum retransmit hops                                                 | 3                                         |
- TX Power              | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset      | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth     | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Configuração do Ecrã
-
- Setting             | Descrição                                                                            |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Configuração da posição
-
- Setting                                   | Descrição                          |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Posição Inteligente                       | Enable movement-based broadcasting |
- Posição fixa                              | Use a manually set position        |
-
-### Configuração de Energia
-
- Setting                                 | Descrição                               |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Configuração de Rede
-
- Setting       | Descrição                                            |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Configuração de Bluetooth
-
- Setting           | Descrição                                                                 |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- PIN fixo          | PIN code for pairing (default: 123456) |
-
-### Configuração de Segurança
-
- Setting                   | Descrição                                                                                                                                                                                                      |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Chave pública             | Your node's public key (read-only)                                                                                                                                                          |
- Chave do Administrador    | Key for remote administration                                                                                                                                                                                  |
- Chave privada             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Modo Administrado         | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/signal-meter.html b/v2.8.0/docs/pt-rPT/user/signal-meter.html deleted file mode 100644 index 043c795330..0000000000 --- a/v2.8.0/docs/pt-rPT/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------ | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bom      | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Razoável | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Mau      | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Nenhum   | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/tak.html b/v2.8.0/docs/pt-rPT/user/tak.html deleted file mode 100644 index 0031d9e434..0000000000 --- a/v2.8.0/docs/pt-rPT/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuração
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Descrição                  |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Papel           | Descrição                                                                                                                                                                                                                                                                           |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Descrição                                                                                                        |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/telemetry-and-sensors.html b/v2.8.0/docs/pt-rPT/user/telemetry-and-sensors.html deleted file mode 100644 index 3746977d9f..0000000000 --- a/v2.8.0/docs/pt-rPT/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Descrição                      | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltagem            | Battery voltage                | 3.0–4.2V (LiPo) |
- Utilização do canal | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Tempo ativo         | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatura | Humidade | Pressão | Notes                   |
- ------- | ----------- | -------- | ------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓       | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓       | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —       | High accuracy           |
- MCP9808 | ✓           | —        | —       | Precision temperature   |
- LPS22   | —           | —        | ✓       | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Descrição                                 |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Atual       | Power consumption (mA) |
- Energia     | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Descrição                    |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/translate.html b/v2.8.0/docs/pt-rPT/user/translate.html deleted file mode 100644 index d6a43d1341..0000000000 --- a/v2.8.0/docs/pt-rPT/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/units-and-locale.html b/v2.8.0/docs/pt-rPT/user/units-and-locale.html deleted file mode 100644 index 1d19399045..0000000000 --- a/v2.8.0/docs/pt-rPT/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vento
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiação                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/pt-rPT/user/widget.html b/v2.8.0/docs/pt-rPT/user/widget.html deleted file mode 100644 index 07654be2d5..0000000000 --- a/v2.8.0/docs/pt-rPT/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/android-auto.html b/v2.8.0/docs/ro-rRO/user/android-auto.html deleted file mode 100644 index 47045607e9..0000000000 --- a/v2.8.0/docs/ro-rRO/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Mesaje
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Noduri
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/app-functions.html b/v2.8.0/docs/ro-rRO/user/app-functions.html deleted file mode 100644 index 6473432fb0..0000000000 --- a/v2.8.0/docs/ro-rRO/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/connections.html b/v2.8.0/docs/ro-rRO/user/connections.html deleted file mode 100644 index 200413ddf1..0000000000 --- a/v2.8.0/docs/ro-rRO/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Descriere                     |
- ---- | -------------- | ----------------------------- |
- 🟢   | Conectat       | Active radio link established |
- 🟡   | Conectare      | Handshake in progress         |
- 🔴   | Deconectat     | No active connection          |
- ⚪    | Not configured | Nici un dispozitiv selectat   |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/debug-logs.html b/v2.8.0/docs/ro-rRO/user/debug-logs.html deleted file mode 100644 index b7de6b2966..0000000000 --- a/v2.8.0/docs/ro-rRO/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/desktop.html b/v2.8.0/docs/ro-rRO/user/desktop.html deleted file mode 100644 index 30f1f4ddf2..0000000000 --- a/v2.8.0/docs/ro-rRO/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notițe                                                                                    |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Setări                                       | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Actualizare firmware                         | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/discovery.html b/v2.8.0/docs/ro-rRO/user/discovery.html deleted file mode 100644 index 352bc44670..0000000000 --- a/v2.8.0/docs/ro-rRO/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Descoperiți - - - -
# Descoperiți
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Trasare traseu
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/firmware.html b/v2.8.0/docs/ro-rRO/user/firmware.html deleted file mode 100644 index 74c1c290b8..0000000000 --- a/v2.8.0/docs/ro-rRO/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Canal        | Descriere                                                                  |
- ------------ | -------------------------------------------------------------------------- |
- Stabil       | Recommended for most users; tested releases                                |
- Alpha        | Preview releases; may contain bugs                                         |
- Fișier local | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/help-and-docs.html b/v2.8.0/docs/ro-rRO/user/help-and-docs.html deleted file mode 100644 index 5d8672715f..0000000000 --- a/v2.8.0/docs/ro-rRO/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/map-and-waypoints.html b/v2.8.0/docs/ro-rRO/user/map-and-waypoints.html deleted file mode 100644 index 985944694f..0000000000 --- a/v2.8.0/docs/ro-rRO/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Descriere                                               |
- ---------- | ------------------------------------------------------- |
- Nume       | Short identifier (max 29 characters) |
- Descriere  | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Blocat     | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/messages-and-channels.html b/v2.8.0/docs/ro-rRO/user/messages-and-channels.html deleted file mode 100644 index 69943080e1..0000000000 --- a/v2.8.0/docs/ro-rRO/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Canale
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Securitate canal
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Descriere                                                                                                                              |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Livrat la Mesh                      | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Rutare prin lanțul SF++…            | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmat pe lanțul SF++            | Confirmed delivered via the SF++ chain                                                                                               |
- Eroare                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Eroare              | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Expirat             | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Fără interfață      | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Niciun canal        | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Niciun raspuns      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Solicitare invalidă | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tip           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/mqtt.html b/v2.8.0/docs/ro-rRO/user/mqtt.html deleted file mode 100644 index 1ef6e17d7b..0000000000 --- a/v2.8.0/docs/ro-rRO/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting            | Descriere                                                                                     | Prestabilit                                         |
- ------------------ | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address     | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Nume de utilizator | Broker authentication                                                                         | meshdev                                             |
- Parolă             | Broker authentication                                                                         | large4cats                                          |
- Root Topic         | Base topic for messages                                                                       | msh                                                 |
- Encryption         | Encrypt MQTT payload                                                                          | Activat                                             |
- ~~JSON Output~~    | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS                | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting      | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Descriere                        |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Descriere                           | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/node-metrics.html b/v2.8.0/docs/ro-rRO/user/node-metrics.html deleted file mode 100644 index 0dfe2be017..0000000000 --- a/v2.8.0/docs/ro-rRO/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Valori dispozitiv
-
-Basic operating information reported by each node:
-
- Metric              | Descriere                           |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Tensiune            | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Timp de functionare | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Indicatori de mediu
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperature                          | BME280, BME680, SHT31 |
- Humidity                             | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Rezistența la gaz                    | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Descriere                                                                                                                                                                                                                  |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color      |
- -------- | ---------------------------------- | ---------- |
- Bun      | < 1000    | Verde      |
- Stuffy   | < 2000    | Amber      |
- Poor     | < 5000    | Portocaliu |
- Unsafe   | < 30000   | Roșu       |
- Evacuate | ≥ 30000                            | Dark red   |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Descriere                                                                      |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality    | Criteria                                                         |
- ---------- | ---------------------------------------------------------------- |
- Bun        | SNR above the preset's limit                                     |
- Acceptabil | less than 5.5 dB below the limit                 |
- Slab       | 5.5 dB to 7.5 dB below the limit |
- Niciunul   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Valori putere
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Descriere               |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Actual      | Power draw in milliamps |
- Alimentare  | Calculated wattage      |
-
-## Trasare traseu
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitudine
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informații vecin
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/nodes.html b/v2.8.0/docs/ro-rRO/user/nodes.html deleted file mode 100644 index a8375c3e75..0000000000 --- a/v2.8.0/docs/ro-rRO/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Noduri - - - -
# Noduri
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Descriere                                                                                                                                              |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client bază                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client mut                       | Receives but doesn't retransmit                                                                                                                        |
- Client ascuns                    | Like Client Mute, plus hides from node list                                                                                                            |
- Ruter                            | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Ruter cu întârziere              | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Senzor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- Tracker TAK                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtru                     | Descriere                                                                            |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Descriere                                                          |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator       | Screenshot                                                    |
- --------------- | ------------------------------------------------------------- |
- Signal quality  | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level   | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count       | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Ultima recepție | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distanță        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/onboarding.html b/v2.8.0/docs/ro-rRO/user/onboarding.html deleted file mode 100644 index 0367d3a476..0000000000 --- a/v2.8.0/docs/ro-rRO/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/settings-module-admin.html b/v2.8.0/docs/ro-rRO/user/settings-module-admin.html deleted file mode 100644 index 92188f21a5..0000000000 --- a/v2.8.0/docs/ro-rRO/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting            | Descriere                                                                |
- ------------------ | ------------------------------------------------------------------------ |
- Activat            | Toggle MQTT bridge                                                       |
- Server             | MQTT broker address                                                      |
- Nume de utilizator | Authentication username                                                  |
- Parolă             | Authentication password                                                  |
- Encryption         | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~    | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS                | Use secure connection                                                    |
- Root Topic         | Base MQTT topic path                                                     |
- Map Report         | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Descriere                       |
- ---------- | ------------------------------- |
- Activat    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Descriere                   |
- -------------------------------- | --------------------------- |
- Activat                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Descriere                                                                                                                                        |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Activat                                    | Activate store and forward                                                                                                                       |
- Puls                                       | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Descriere                         |
- -------------------------------------- | --------------------------------- |
- Activat                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Descriere                               |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Descriere                                                   |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Mesaje             | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Descriere                        |
- --------------- | -------------------------------- |
- Activat         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Descriere                                                       |
- -------------------- | --------------------------------------------------------------- |
- Activat              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Descriere                                                                                                                            |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Activat                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Descriere                                                  |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Actual             | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Descriere                                                                                                                               |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Activat                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Descriere                  |
- -------------------------------------- | -------------------------- |
- Activat                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administrare
-
-### Administrare la distanță
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Curăță baza de date a nodurilor
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Restartează
-
-Remotely reboot a connected or administered node.
-
-### Panou de depanare
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/settings-radio-user.html b/v2.8.0/docs/ro-rRO/user/settings-radio-user.html deleted file mode 100644 index c36b0cf183..0000000000 --- a/v2.8.0/docs/ro-rRO/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Descriere                                                                             |
- ----------------- | ------------------------------------------------------------------------------------- |
- Nume lung         | Your display name (up to 39 characters)                            |
- Nume scurt        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Descriere                                                               | Prestabilit |
- ------------------------------------------ | ----------------------------------------------------------------------- | ----------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client      |
- Mod de redifuzare                          | How the node retransmits messages                                       | Toate       |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800       |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled    |
-
-### LoRa Config
-
- Setting           | Descriere                                                               | Prestabilit                               |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regiune           | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Viteza                    | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Descriere                                                                            |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Descriere                          |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Poziție inteligentă                       | Enable movement-based broadcasting |
- Poziție fixă                              | Use a manually set position        |
-
-### Configurare Putere
-
- Setting                                 | Descriere                               |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Descriere                                            |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Configurare Bluetooth
-
- Setting           | Descriere                                                                 |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- PIN fix           | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Descriere                                                                                                                                                                                                      |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Chei publice              | Your node's public key (read-only)                                                                                                                                                          |
- Cheie Administrator       | Key for remote administration                                                                                                                                                                                  |
- Cheia privată             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Mod Gestionat             | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/signal-meter.html b/v2.8.0/docs/ro-rRO/user/signal-meter.html deleted file mode 100644 index 28e6c62225..0000000000 --- a/v2.8.0/docs/ro-rRO/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
-------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bun        | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Acceptabil | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Slab       | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Niciunul   | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/tak.html b/v2.8.0/docs/ro-rRO/user/tak.html deleted file mode 100644 index 4819b93ecd..0000000000 --- a/v2.8.0/docs/ro-rRO/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Descriere                  |
- ------- | -------------------------- |
- Activat | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Descriere                                                                                                                                                                                                                                                                           |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting          | Descriere                                                                                                        |
- ---------------- | ---------------------------------------------------------------------------------------------------------------- |
- Culoarea echipei | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Rolul membrului  | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/telemetry-and-sensors.html b/v2.8.0/docs/ro-rRO/user/telemetry-and-sensors.html deleted file mode 100644 index 70995bbae0..0000000000 --- a/v2.8.0/docs/ro-rRO/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Descriere                      | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Tensiune            | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Timp de functionare | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Senzor  | Temperature | Humidity | Presiune | Notițe                  |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Senzor   | Metric                                             | Notițe                     |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Senzor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Valori putere
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Descriere                                 |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Actual      | Power consumption (mA) |
- Alimentare  | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Descriere                    |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/translate.html b/v2.8.0/docs/ro-rRO/user/translate.html deleted file mode 100644 index 876f87bade..0000000000 --- a/v2.8.0/docs/ro-rRO/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/units-and-locale.html b/v2.8.0/docs/ro-rRO/user/units-and-locale.html deleted file mode 100644 index b288318ec5..0000000000 --- a/v2.8.0/docs/ro-rRO/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitudine |
- -------------------------------- | -------------- | ---------------------- | ---------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m    |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft   |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Viteza
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vânt
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiație                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ro-rRO/user/widget.html b/v2.8.0/docs/ro-rRO/user/widget.html deleted file mode 100644 index 80f00e5d2a..0000000000 --- a/v2.8.0/docs/ro-rRO/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/android-auto.html b/v2.8.0/docs/ru-rRU/user/android-auto.html deleted file mode 100644 index 0c4d33828e..0000000000 --- a/v2.8.0/docs/ru-rRU/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic интегрируется с Android Auto, так что ты можешь оставаться на связи со своей сетью, пока едешь, не отрывая рук от руля и глаз от дороги.
-
-> ⚠️ **Примечание:** поддержка Android Auto доступна только на **Android-сборках от Google**. Она не включена в сборку F-Droid и недоступна на ПК или iOS.
-
-> ℹ️ **Что сегодня нового:** Сборка для Google Play предоставляет **только уведомления** для сообщений в машине — входящие сообщения объявляются на головном устройстве, а ответ даётся через его элементы управления уведомлениями. Полная вкладка **Сообщения / Ноды / Статус**, описанная ниже, является бета-версией, построенной на библиотеке Android Car App (шаблонный интерфейс Google для автомобилей в настоящее время ограничен закрытыми/внутренними треками Play), поэтому он появляется только в сборках, скомпилированных с `-PenableCarTemplates=true`. Остальная часть этой страницы документирует бета-тестирование.
-
-## Обзор
-
-Когда твой телефон подключен к головному устройству Android Auto (или к эмулятору Desktop Head Unit, используемому для разработки), бета-версия показывает Meshtastic как приложение для обмена сообщениями, созданное с помощью библиотеки Android Car App, с вкладочной главной страницей, оптимизированной для безопасного вождения и удобного быстрого просмотра:
-
-- **Сообщения** — недавние разговоры с возможностью чтения и ответов без рук.
-- **Узлы** — список нод сети с подробным просмотром каждой ноды.
-- **Статус** — текущий статус подключения и сети.
-
-Приложение для машины само по себе не добавляет новое соединение. Оно использует уже существующее соединение, ноду и состояние сообщений в приложении Meshtastic, так что отображает то, к чему твой телефон уже подключен.
-
-> ⚠️ **Примечание:** твой телефон должен быть подключен к радиостанции Meshtastic, чтобы автомобильное приложение показывало данные в реальном времени. Если приложение отключено, экран автомобиля показывает отключенное состояние.
-
-## Сообщения
-
-Вкладка «Сообщения» показывает твои недавние разговоры. За рулём ты можешь:
-
-- **Прослушивать сообщения вслух**, чтобы не приходилось смотреть на экран.
-- **Отвечай голосом или текстом** с помощью кнопки ответа на своей головной панели, диктуя свой ответ без рук.
-
-## Ноды
-
-Вкладка «Ноды» показывает список нод вашей сетки в удобном для машины формате. Выбор ноды открывает представление с подробной информацией об этой ноде. Смотри [Ноды](nodes), чтобы полностью понять информацию, показанную здесь.
-
-## Статус
-
-Вкладка «Статус» позволяет одним взглядом увидеть твоё текущее соединение и состояние сети — удобно, чтобы проверить, что ты всё ещё подключен к радиостанции, не открывая телефон.
-
-## Связанные темы
-
-- [Сообщения и Каналы](messages-and-channels) — все функции обмена сообщениями на твоём телефоне
-- [Ноды](nodes) — подробный список нод и информация о каждой ноде
-- [Подключения](connections) — как приложение подключается к твоей радиостанции
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/app-functions.html b/v2.8.0/docs/ru-rRU/user/app-functions.html deleted file mode 100644 index 87d4098fba..0000000000 --- a/v2.8.0/docs/ru-rRU/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - Функции приложения - - - -
# Функции приложения
-
-Функции приложения предоставляют возможности Meshtastic системе Android и встроенным AI-помощникам (таким как Gemini) через API функций приложения Android. С их включением помощник может находить и запускать сетевые рабочие процессы за тебя — например, отправлять сообщение или проверять статус сети — не утруждая тебя открытием приложения.
-
-> ⚠️ **Примечание:** Функции приложения доступны только на **Android-версиях от Google**.
-
-> ⚠️ **Примечание:** Это отдельно от встроенного в приложении помощника **Chirpy**. Функции приложения позволяют _системному_ AI-помощнику действовать с вашей сетью; Chirpy — это голосовой помощник прямо внутри приложения Meshtastic.
-
-## Включение функций приложения
-
-Функции приложения управляются через **Настройки → Системный ИИ** (на экране в приложении указано "Системный ИИ"). Экран содержит:
-
-- **Главный переключатель** с надписью **"Разрешить доступ ИИ"** и подзаголовком _"Позволь системным ИИ-ассистентам (например, Gemini) обнаруживать и использовать функции сети"_. Когда выключено, системе не доступны никакие функции.
-- **Отдельный переключатель для каждой функции**, чтобы включать только те возможности, которые хочешь.
-
-Функции разделены на секцию **Запись** (функции, которые что-то меняют или отправляют данные в сеть) и **Чтение** (только возвращают информацию).
-
-![Экран функций приложения с переключателями для всех функций и отдельных функций](../../assets/screenshots/app-functions_settings.png)
-
-### Функции записи
-
- Функция                 | Что она делает                                                                                                                 |
- ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
- **Отправить сообщение** | Отправляет текстовое сообщение контакту (личное сообщение) или каналу размером до 237 байт. |
-
-### Функции записи
-
- Функция                           | Что она возвращает                                       |
- --------------------------------- | -------------------------------------------------------- |
- **Получить состояние сети**       | Общее состояние сети.                    |
- **Получить список нод**           | Список узлов в твоей сети.               |
- **Получить информацию о канале**  | Информация о твоих каналах.              |
- **Получить состояние устройства** | Состояние подключенного радиоустройства. |
- **Получить детали ноды**          | Подробная информация о конкретной ноде.  |
- **Получить последние сообщения**  | Последние сообщения из твоих разговоров. |
- **Получить обзор непрочитанного** | Сводка непрочитанных сообщений.          |
- **Получить метрики сети**         | Телеметрия и метрики твоей сети.         |
-
-## Приватность
-
-> 🔒 **Приватность:** Функция **Отправить сообщение** позволяет помощнику отправлять сообщения в твоей сети от твоего имени. Включай только те функции, по которым ты доверяешь ассистенту. Функции чтения предоставляют ассистенту данные о ноде, сообщениях и метриках — включай только то, чем готов делиться. У каждой функции есть свой переключатель, а главный переключатель выключает их все сразу.
-
-## Связанные темы
-
-- [Сообщения и каналы](messages-and-channels) — отправка сообщений прямо в приложении
-- [Ноды](nodes) — список нод, из которого берут данные функции чтения
-- [Метрики нод](node-metrics) — телеметрия за Получение метрик сети
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/connections.html b/v2.8.0/docs/ru-rRU/user/connections.html deleted file mode 100644 index a42d3454da..0000000000 --- a/v2.8.0/docs/ru-rRU/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Соединения - - - -
# Соединения
-
-Meshtastic поддерживает несколько способов передачи данных между вашим телефоном/компьютером и радионодой.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy является наиболее распространенным методом подключения на Android.
-
-### Привязка устройства
-
-1. Убедитесь, что устройство Meshtastic включено и находится в режиме сопряжения.
-2. Откройте приложение и перейдите на вкладку **Подключение**.
-3. Нажми **Сканировать Bluetooth-устройства** — рядом появятся радиостанции Meshtastic.
-4. Выберите ваше устройство из списка.
-5. Примите запрос на соединение Bluetooth, если показано.
-
-![Сканирование устройств Bluetooth с обнаружением радиоустройств в списке](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Используйте селектор транспорта — ряд сегментированных кнопок под карточкой подключения — для переключения между транспортами Bluetooth, Network и USB (одновременно активен только один):
-
-![Селектор транспорта](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Подсказка:** Если ваше радио Meshtastic не отображается, проверьте, предоставлены ли разрешения на Bluetooth и геолокацию, а также не подключено ли ваше радио к другому устройству.
-
-### Статус подключения
-
- Иконка | Состояние    | Описание                 |
- ------ | ------------ | ------------------------ |
- 🟢     | Подключено   | Подключение активно      |
- 🟡     | Подключение  | Выполняется рукопожатие  |
- 🔴     | Отключено    | Нет активного соединения |
- ⚪      | Не настроено | Устройство не выбрано    |
-
-При подключении индикатор состояния показывает текущее состояние соединения:
-
-![Состояние подключения](../../assets/screenshots/connections_connecting.png)
-
-Если устройства не найдены, приложение показывает пустое состояние с инструкциями:
-
-![Устройства не найдены](../../assets/screenshots/connections_empty_state.png)
-
-### Устранение неполадок Bluetooth
-
-- **Устройство не найдено:** Выключи и снова включи Bluetooth, убедись, что включена служба определения местоположения.
-- **Потеря связи:** Подойди ближе к ноде; проверь наличие помех.
-- **Сопряжение отклонено:** Забыть устройство в настройках Bluetooth на Android и повторить попытку.
-
-## Последовательный USB
-
-Подключения через USB предоставляют проводную альтернативу, полезную для настольных компьютеров или когда Bluetooth недоступен.
-
-### Настройка
-
-1. Подключи свою ноду к устройству с помощью USB-кабеля.
-2. Приложение запросит разрешение на доступ к USB — нажми **Разрешить**.
-3. Соединение устанавливается автоматически.
-
-> ⚠️ **Примечание:** Для подключения USB требуется поддержка OTG на устройствах Android.
-
-## TCP/IP (Сеть)
-
-Некоторые радиостанции Meshtastic поддерживают подключение по WiFi/Ethernet, что позволяет устанавливать TCP-соединения через локальную сеть. Сначала подключи радиоустройство к своей сети — используя его собственные настройки Wi-Fi (через веб-интерфейс прошивки или другое подключение) — затем подключайся к нему через приложение.
-
-### Подключение к сети
-
-1. Убедись, что радио подключено к той же локальной сети, что и твой телефон/компьютер.
-2. На экране "Подключение" выберите **Network** в селекторе транспорта.
-3. Выбери радиоустройство одним из двух способов:
-   - **Сканировать сетевые устройства** — включи эту опцию чтобы автоматически обнаруживать радиоустройства, которые объявляют о себе в локальной сети (mDNS / `_meshtastic._tcp`). Обнаруженные устройства появляются в списке; нажми на одно, чтобы подключиться.
-   - **Добавить устройство вручную…** — введи IP-адрес радиостанции (или имя хоста) и порт (по умолчанию: `4403`).
-4. Ранее использованные сетевые адреса запоминаются в разделе **Недавние сетевые устройства** для быстрого повторного подключения (удерживай пальцем, чтобы удалить).
-
-> 💡 **Совет:** Обнаружение сети использует mDNS, который работает только когда оба устройства находятся в одной подсети. На Android 17+ приложению нужно разрешение на локальную сеть для сканирования; если поиск ничего не находит, добавь устройство вручную по IP.
-
-### Когда использовать TCP
-
-- Радиостанция находится в той же локальной сети
-- Тестирование с использованием имитирования радиоприемника
-- Окружающая среда, где возникают помехи Bluetooth
-
-## Поведение при повторном подключении
-
-Приложение подключается к **последнему выбранному устройству** при запуске. Вы можете переключать транспорт с экрана подключения в любое время.
-
-Чтобы отключиться, нажми кнопку отключения на экране подключения:
-
-![Отключение от радиоприёмника](../../assets/screenshots/connections_disconnect.png)
-
-## Подключение к компьютеру
-
-На компьютере (Linux/macOS/Windows) приложение поддерживает:
-
-- **Bluetooth (BLE)** — через библиотеку Kable; работает на macOS, Linux и Windows
-- **Последовательный USB** — основной способ проводного подключения
-- **TCP/IP** — для радиостанций, подключенных к сети
-
-См. [десктопное приложение](desktop) для информации о платформе и сочетаниях клавиш.
-
-## Связанные темы
-
-- [Начало работы](onboarding) — настройка при первом запуске и разрешения
-- [Настройки — Радио и пользователь](settings-radio-user) — настройка Bluetooth и сети
-- [Десктопное приложение](desktop) — детали подключения, специфичные для настольных компьютеров
-- [Поддерживаемые устройства](https://meshtastic.org/docs/hardware/devices) — полный список совместимых радиоустройств на meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/debug-logs.html b/v2.8.0/docs/ru-rRU/user/debug-logs.html deleted file mode 100644 index 20444b5bb0..0000000000 --- a/v2.8.0/docs/ru-rRU/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Отладочные журналы - - - -
# Отладочные журналы
-
-Когда что-то работает неправильно, отладочные журналы приложения — это самое полезное, что вы можете приложить к отчёту об ошибке. Meshtastic может захватить их **за вас, прямо из приложения** — вам больше не нужен adb или какие-либо инструменты на компьютере для их сбора.
-
-Откройте **Панель отладки** через **Настройки → Дополнительно → Панель отладки**.
-
-> 📎 **Создаёте задачу?** Экспортируйте свои журналы (см. ниже) и прикрепите файл `.txt` к отчёту на [github.com/meshtastic/Meshtastic-Android/issues]. Захват журнала, охватывающий момент возникновения проблемы, превращает «это не работает» в то, что разработчик действительно может отследить.
-
-## Две вкладки
-
-Панель отладки содержит две вкладки:
-
-- **Пакеты** — декодированный трафик mesh-сети, который ваше радио отправило и получило (сообщения уровня протокола). Полезно для диагностики поведения mesh-сети и маршрутизации.
-- **Журналы приложения** — собственный диагностический журнал приложения (Android _logcat_), включая предупреждения, ошибки и трассировки стека самого приложения. Обычно именно это требуется для отчёта об ошибке.
-
-Каждая вкладка имеет собственную кнопку **экспорта** и создаёт отдельный файл, поэтому вы можете сохранить тот, который нужен — или сразу оба.
-
-## Просмотр журналов приложения
-
-Вкладка **Журналы приложения** показывает самые последние строки журнала **только из этого приложения** — но не из других приложений на вашем устройстве.
-
-- **Поиск** — введите текст в поле поиска, чтобы отфильтровать строки по совпадению.
-- **Фильтр по уровню** — кнопки V / D / I / W / E переключают отображение строк с уровнями Verbose (Подробный), Debug (Отладка), Info (Информация), Warn (Предупреждение) и Error (Ошибка). Нажмите на уровень, чтобы скрыть его; нажмите ещё раз, чтобы вернуть обратно. Строки с фатальными ошибками отображаются всегда.
-- **Обновить** — значок обновления заново считывает последние записи журнала.
-
-Строки с ошибками и предупреждениями подсвечиваются цветом, чтобы проблемы выделялись.
-
-## Экспорт
-
-Нажмите на значок **загрузки**, чтобы сохранить текущие журналы в файл. Вы выбираете расположение через системное окно выбора файлов, а файл получает имя с меткой времени (например, `meshtastic_logcat_20260701_143312.txt`), поэтому повторные экспорты никогда не перезаписывают друг друга.
-
-Прикрепите этот файл к своей задаче на GitHub.
-
-> 🔒 **Приватность**: Экспорты автоматически **удаляют** приватные ключи, ключи администратора и сеансовые ключи доступа перед записью в файл. Ключи каналов (PSKs) **не** удаляются, а журналы также могут содержать имена узлов, координаты и другие идентифицирующие данные — бегло просмотрите файл перед публикацией и, если сомневаетесь, делитесь им конфиденциально.
-
-## Desktop
-
-У компьютерного приложения нет системного logcat, поэтому вкладка **Журналы приложения** вместо этого показывает собственный захваченный вывод журнала приложения. Поиск, фильтрация и экспорт работают точно так же.
-
-## Связанные темы
-
-- [Справка и встроенная документация](help-and-docs) — чтение этой документации офлайн внутри приложения
-- [Подключения](connections) — если проблема в первую очередь связана с подключением к вашему радио
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/desktop.html b/v2.8.0/docs/ru-rRU/user/desktop.html deleted file mode 100644 index c686b73cbc..0000000000 --- a/v2.8.0/docs/ru-rRU/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Настольное приложение - - - -
# Настольное приложение
-
-Настольное приложение Meshtastic использует общий код с Android через Kotlin Multiplatform. Большинство функций работают одинаково на Linux, macOS и Windows.
-
-## Установка
-
-### Linux
-
-- Скачайте пакет `.deb` или `.AppImage` со страницы релизов
-- Или соберите из исходного кода с помощью `./gradlew :desktopApp:run`
-
-### macOS
-
-- Скачайте пакет `.dmg` из релизов
-- Или соберите из исходных кодов
-
-### Windows
-
-- Загрузите установщик `.msi` со страницы релизов
-- Или соберите из исходных кодов
-
-## Подключение твоей радиостанции
-
-### Последовательная USB (Основной)
-
-Наиболее надежный способ подключения к компьютеру:
-
-1. Подключите свою радиостанцию Meshtastic через USB-кабель.
-2. Приложение должно автоматически определить последовательный порт.
-3. Если порт не определён, выберите правильный последовательный порт в меню "Подключение".
-
-### TCP/IP
-
-Для радиостанций, подключённых по сети:
-
-1. Введите IP-адрес и порт радиостанции (по умолчанию: 4403).
-2. Нажмите "**Подключиться**".
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy поддерживается в настольном приложении с помощью библиотеки [Kable](https://github.com/JuulLabs/kable):
-
-1. Убедитесь, что ваша система оснащена Bluetooth-адаптером.
-2. Приложение автоматически сканирует находящиеся поблизости радиостанции Meshtastic.
-3. Выберите своё устройство на экране «Подключение».
-
-## Паритет функций
-
- Функция                                              | Android | Desktop | Заметки                                                                                                        |
- ---------------------------------------------------- | ------- | ------- | -------------------------------------------------------------------------------------------------------------- |
- Обмен сообщениями                                    | ✓       | ✓       | Полное равенство                                                                                               |
- Список узлов                                         | ✓       | ✓       | Полное равенство                                                                                               |
- Карта                                                | ✓       | ◐       | Вкладка карты присутствует в настольном приложении, но интерактивный просмотр карты доступен только на Android |
- Настройки                                            | ✓       | ✓       | Полное равенство                                                                                               |
- Bluetooth (BLE)                   | ✓       | ✓       | Через Kable в настольном приложении                                                                            |
- Обновление прошивки                                  | ✓       | ✓       | Внутри приложенное обновление по USB, BLE и Wi-Fi (ESP32) работает так же, как на Android   |
- Уведомления                                          | ✓       | ✓       | Системные уведомления                                                                                          |
- Виджеты                                              | ✓       | ✗       | Только Android                                                                                                 |
- Android Auto                                         | ✓       | ✗       | Только Android — недоступно в настольном приложении или iOS                                                    |
- AI-ассистент (Chirpy)             | ✓\*     | ✗       | Только в Google-версии для Android                                                                             |
- Функции приложения (системный ИИ) | ✓†      | ✗       | Только в Google-версии для Android                                                                             |
-
-\*Chirpy AI требует Android 14+ в Google-версии на поддерживаемом оборудовании.
-
-†Функции приложения предоставляют действия приложения системному ИИ Android в Google-версии. См. [Функции приложения](app-functions).
-
-## Различия интерфейса
-
-Настольное приложение использует тот же интерфейс на Compose Multiplatform с адаптациями для больших экранов и настольного взаимодействия.
-
-### Сочетания клавиш
-
-Сочетания клавиш используют ⌘ (Command) на macOS и Ctrl на Windows и Linux. (Клавиша Super / Windows не используется.)
-
- Сочетание    | Действие                         |
- ------------ | -------------------------------- |
- **⌘/Ctrl+Q** | Выйти из приложения              |
- **⌘/Ctrl+,** | Открыть настройки                |
- **⌘/Ctrl+1** | Перейти во вкладку "Сообщения"   |
- **⌘/Ctrl+2** | Перейти во вкладку "Узлы"        |
- **⌘/Ctrl+3** | Перейти во вкладку "Карта"       |
- **⌘/Ctrl+4** | Перейти во вкладку "Подключение" |
- **⌘/Ctrl+/** | Открыть "О программе"            |
-
-### Окно и системный трей
-
-- **Изменение размера окна** — адаптивный макет подстраивается под размеры окна
-- **Системный трей** — сверните в системный трей для фоновой работы mesh-сети
-- **Меню трея** — щёлкните правой кнопкой мыши по значку в трее, чтобы показать окно или выйти
-- **Взаимодействие с мышью** — состояния при наведении и стандартная настольная навигация
-
-### Настройки уведомлений
-
-Настольное приложение предоставляет встроенные переключатели для управления отображением уведомлений: сообщения, новые узлы и предупреждения о низком заряде батареи. Доступ к ним осуществляется через **Настройки → Уведомления** в самом приложении.
-
-## Встроенный браузер документации
-
-Настольное приложение включает встроенный браузер документации для быстрого доступа к справочным материалам без выхода из приложения.
-
-![Браузер документации с оглавлением](../../assets/screenshots/docs-browser_toc.png)
-
-Браузер поддерживает полнотекстовый поиск по всей документации:
-
-![Поиск в браузере документации](../../assets/screenshots/docs-browser_search.png)
-
-Отдельные страницы документации отображаются с полным форматированием:
-
-![Страница документации](../../assets/screenshots/docs-browser_page.png)
-
-## Сборка из исходного кода
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Требования:
-
-- JDK 21
-- Для сборки только настольной версии Android SDK не требуется
-
-## Известные ограничения
-
-- Интерактивный просмотр карты доступен только на Android — вкладка «Карта» присутствует в настольном приложении, но не отображает карту
-- Некоторые специфичные для Android функции (виджеты, отдельные каналы уведомлений) недоступны
-- Производительность может варьироваться на маломощном оборудовании при запуске Compose Desktop
-- BLE-связывание пока не поддерживается в настольном приложении (сопряжение работает без связывания)
-
-## Связанные темы
-
-- [Подключения](connections) — обзор методов подключения
-- [Обновление прошивки](firmware) — обновление по USB, BLE и Wi-Fi работает так же, как на Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/discovery.html b/v2.8.0/docs/ru-rRU/user/discovery.html deleted file mode 100644 index 85f6666af9..0000000000 --- a/v2.8.0/docs/ru-rRU/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Обнаружение - - - -
# Обнаружение
-
-Инструменты обнаружения помогают понять, **как** твоя mesh-сетевая структура соединена — какие ноды могут слышать друг друга, по каким путям проходят сообщения и где существуют узкие места или слабые звенья.
-
-Приложение предлагает два дополнительных подхода:
-
-- **Локальное обнаружение mesh-сети (сканер)** — автоматический режим, который по очереди перебирает на твоём подключённом радио разные пресеты LoRa, слушает каждый и определяет, какой пресет лучше всего работает в твоём местоположении.
-- **Ручное исследование** — трассировка, информация о соседях и список нод, которые ты можешь использовать в любое время для изучения конкретных путей и топологии.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **Выбор пресета LoRa** | Выберите один или несколько пресетов для сканирования. Обнаружение по очереди задерживается на каждом выбранном пресете.                                                                                                                             |
- **Время задержки**     | Время прослушки каждого пресета. Выбери один из вариантов: 1, 5, 15, 30, 45, 60, 90, 120 или 180 минут. Более долгое время задержки собирает больше пакетов и даёт более чёткую картину, но занимает больше времени. |
- **Не выключать экран** | Дополнительный переключатель, который не даёт экрану гаснуть во время длительного сканирования.                                                                                                                                                                      |
-
-Кнопка **Старт** остаётся неактивной — с объяснением причины — пока сканирование не может быть запущено. Распространённые причины, почему она отключена:
-
-- Устройство **не подключено**.
-- **Не выбраны пресеты** для сканирования.
-- Выбранный пресет использует частоту **2,4 ГГц**, которую ваше оборудование не поддерживает.
-
-### Текущий прогресс
-
-Во время сканирования "Обнаружение" показывает текущий этап:
-
- Этап                                                      | Что происходит                                                                                           |
- --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
- **Подготовка**                                            | Сохранение твоей текущей конфигурации и подготовка к сканированию.                       |
- **Переключение на \<preset\>** | Переключение радио на следующий пресет для тестирования.                                 |
- **Переподключение**                                       | Восстановление соединения после смены пресета.                                           |
- **Прослушивание**                                         | Прослушивание текущего пресета для сбора пакетов с обратным отсчётом до следующего шага. |
- **Анализ**                                                | Обработка собранных пакетов и ранжирование пресетов.                                     |
- **Восстановление**                                        | Возврат твоей исходной конфигурации LoRa.                                                |
-
-![Обратный отсчёт времени прослушивания, показывающий оставшееся время на текущем пресете](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Чтение результатов
-
-По завершении сканирования "Обнаружение" показывает карточку результатов для каждого протестированного пресета, а также общую сводку.
-
-![Карточка результатов по пресету с рейтингом и собранными метриками](../../assets/screenshots/discovery_preset_result.png)
-
-Метрики включают:
-
- Метрическая                     | Что для тебя это значит                                                                            |
- ------------------------------- | -------------------------------------------------------------------------------------------------- |
- Состояние радиоэфира            | Общее качество радиообстановки на этом пресете.                                    |
- Использование канала            | Насколько загруженным был эфир во время прослушивания.                             |
- Время вещания                   | Наблюдаемое время передачи.                                                        |
- Прямые и ретранслированные ноды | Сколько mesh-нод было услышано напрямую, а сколько через ретранслятор.             |
- Повреждённые / повторные пакеты | Количество повреждённых и повторных пакетов, указывающее на перегрузку или помехи. |
-
-Дополнительные функции, доступные из результатов:
-
-- **История сканирования** — сохранённые сеансы, которые ты можешь просмотреть снова; просматривайте или удаляйте прошлые сканирования.
-- **Карта обнаружения** — карта нод, найденных во время сканирования.
-- **Экспорт отчёта** — экспортируйте отчёт в формате PDF на Android или в виде текста на других платформах.
-
-> 💡 **Совет:** На Android "Обнаружение" может создавать на устройстве сводку твоих результатов с помощью ИИ (Gemini Nano). Если модель на устройстве недоступна, вместо неё используется алгоритмическая сводка — так что ты всегда получаешь читаемую интерпретацию сканирования.
-
-## Ручное исследование
-
-Приведённые ниже инструменты доступны в любое время из списка нод и с экранов сведений ноде. Используйте их для исследования конкретных путей и построения картины топологии — вместе с полным сканированием или вместо него.
-
-## Трассировка маршрута
-
-Трассировка показывает точный путь, который сообщение проходит от твоей ноды до любой другой ноды в сети. Это самый полезный инструмент для отладки проблем с подключением.
-
-### Выполнение трассировки
-
-1. Перейди в **Ноды** и коснись ноды, которую ты хочешь отследить.
-2. На экране деталей ноды нажми **Трассировка**.
-3. Приложение отправляет запрос трассировки и ожидает ответа.
-4. Результаты отображают каждую ноду по порядку с качеством сигнала на каждом этапе.
-
-### Чтение результатов
-
-Результат трассировки выглядит так:
-
-```
-Ты → Нода A (SNR: 8.5, RSSI: -95) → Нода B (SNR: 5.2, RSSI: -108) → Цель
-```
-
-Каждый хоп представляет собой ретранслирующую ноду, которая переслала сообщение. Значения SNR и RSSI на каждой ноде говорят о качестве соединения на этом конкретном участке.
-
- На что обращать внимание                                                                            | Что это значит                                                                      |
- --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
- Все хопы показывают хороший SNR (≥ −7 дБ, зелёный цвет)                          | Здоровый путь — сообщения идут без сбоев                                            |
- Один хоп показывает плохой SNR (< −15 дБ, красный цвет) | Слабое звено — этот сегмент ретрансляции хрупкий                                    |
- Много хопов (4+)                                                                 | Длинный путь — подумай о перемещении ноды для его сокращения                        |
- Другой путь при повторе                                                                             | Сеть адаптируется — существуют несколько маршрутов (это хорошо!) |
-
-> 💡 **Совет:** Запусти трассировку несколько раз в течение нескольких минут. Если путь изменяется, у твоей сети есть лишние маршруты — признак хорошо связанной сети.
-
-### Устранение неполадок с трассировкой
-
-- **''Маршрут не найден''** — Целевая нода может быть оффлайн, находиться вне зоны действия или на другом канале. Проверь, что обе ноды имеют хотя бы один канал с одинаковым ключом шифрования.
-- **Время ожидания трассировки истекло** — путь может быть слишком длинным (превышен лимит хопов) или нода ретрансляции перегружена. Попробуй увеличить лимит хопов в **Настройки → Конфигурация LoRa**.
-- **Асимметричные маршруты** — трассировка от A→B может проходить по другому пути, чем B→A. Это нормально — распространение радиоволн не всегда симметрично.
-
-## Список узлов как инструмент для обзора
-
-Сам по себе список нод — мощный инструмент обнаружения, если ты эффективно будешь использовать его возможности фильтрации и сортировки.
-
-### Поиск новых узлов
-
-- Сортируйте по **"Последнему приёму"**, чтобы увидеть вверху списка ноды, активные в последнее время.
-- Включите **"Включая неизвестные"**, чтобы увидеть ноды, которые появились в mesh-сети, но ещё не передали информацию о пользователе — часто это недавно включённые устройства.
-
-### Оценка подключения
-
-- Сортируйте по «Хопам», чтобы видеть, какие ноды доступны напрямую (0 хопов), а какие — через ретрансляцию.
-- Сортируйте по **"Расстоянию"**, чтобы найти близлежащие ноды и убедиться, что они доступны.
-- Используйте **"Исключить MQTT"**, чтобы сосредоточиться на нодах, доступных по радио (а не через интернет-мост).
-
-### Аудит инфраструктуры
-
-- Отключите **"Исключить инфраструктуру"**, чтобы увидеть ноды Router, Router Late и Client Base.
-- Проверьте качество их сигнала и время последнего приёма, чтобы убедиться, что твои ноды инфраструктуры работают исправно.
-
-См. раздел [Ноды](Nodes) для получения полной информации о параметрах фильтрации и сортировки.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/firmware.html b/v2.8.0/docs/ru-rRU/user/firmware.html deleted file mode 100644 index 7e7c516e71..0000000000 --- a/v2.8.0/docs/ru-rRU/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Обновления прошивки - - - -
# Обновления прошивки
-
-Поддерживайте своё радио Meshtastic в актуальном состоянии с помощью последней прошивки для получения новых функций, исправлений ошибок и улучшений безопасности.
-
-## Проверка обновлений
-
-1. Откройте конфигурацию подключённого радио и в разделе **"Дополнительно"** нажмите **"Обновление прошивки"**. Этот пункт появляется только для устройств, поддерживающих OTA.
-2. Приложение проверяет доступные версии прошивки.
-3. Доступные обновления показывают номер версии и сводку изменений.
-
-## Методы обновления
-
-### OTA (беспроводное обновление) через Bluetooth
-
-Наиболее распространённый способ обновления для пользователей Android:
-
-1. Убедитесь, что твоё радио подключено по Bluetooth.
-2. Перейдите на экран "Обновление прошивки".
-3. Выберите нужную версию прошивки.
-4. Нажмите **"Обновить"**, чтобы начать процесс OTA.
-5. Дождитесь завершения обновления — **не отключайте устройство** во время обновления.
-
-![Проверка обновлений прошивки](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Предупреждение:** Прерывание обновления прошивки может вывести твоё устройство из строя. Убедись, что твоё радио имеет достаточный заряд батареи (рекомендуется >50%) и сохраняйте близость Bluetooth на протяжении всего процесса.
-
-![Предупреждение о прошивке](../../assets/screenshots/firmware_disclaimer.png)
-
-### Обновление внутри приложения по USB
-
-Когда твоё радио подключено по **USB/seria**l (а не по Bluetooth), на экране обновления прошивки появляется опция **"Передача файла по USB"**. Приложение перезагружает устройство в режим DFU, а затем предлагает сохранить файл `.uf2` на DFU-диск устройства с помощью системного выбора файлов. Эта опция появляется только при подключении по USB/serial — она недоступна по Bluetooth.
-
-> ℹ️ **Примечание о загрузчике nRF:** Некоторым устройствам (например, RAK WisBlock RAK4631) требуется прошить загрузчик с помощью фирменной последовательной утилиты DFU (такой как `adafruit-nrfutil`) — простое копирование `.uf2` не обновит загрузчик. Приложение покажет подсказку, когда это необходимо.
-
-### Другие способы прошивки
-
-Для восстановления или когда ни OTA, ни внутри приложение USB недоступны:
-
-- Используйте [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Или инструмент командной строки [Meshtastic CLI](https://meshtastic.org/docs/getting-started/flashing-firmware) на компьютере
-
-## Каналы версий
-
- Канал          | Описание                                                                    |
- -------------- | --------------------------------------------------------------------------- |
- Стабильная     | Рекомендуется для большинства пользователей; протестированные релизы        |
- Альфа          | Предварительные релизы; могут содержать ошибки                              |
- Локальный файл | Прошить файл прошивки, который ты выбираешь сам, вместо загруженного релиза |
-
-## Предполётная проверка
-
-Перед обновлением:
-
-- [ ] Заряд батареи > 50%
-- [ ] Стабильное соединение Bluetooth
-- [ ] Запишите свои текущие настройки (они могут сброситься при смене мажорной версии)
-- [ ] Проверьте примечания к релизу на наличие критических изменений
-
-## После обновления
-
-После записи прошивки приложение проверяет обновление и ждёт, пока устройство снова станет доступным:
-
-![Проверка обновления и ожидание переподключения устройства](../../assets/screenshots/firmware_verifying.png)
-
-После успешного обновления:
-
-- Радио перезагрузится автоматически
-- Соединение Bluetooth восстановится
-- Убедись, что твои настройки сохранились
-- Проверьте новую версию в разделе **"Установленная версия"** на экране обновления прошивки — она также отображается на странице сведений о ноде и на экране "Подключения"
-
-![Успешное обновление прошивки](../../assets/screenshots/firmware_success.png)
-
-## Устранение неполадок
-
-### Обновление зависло
-
-Если обновление кажется зависшим:
-
-- Подождите не менее 5 минут, прежде чем предпринимать действия
-- Если действительно зависло, перезагрузите радио выключением и включением питания
-- Попробуйте обновление снова
-
-![Ошибка обновления прошивки](../../assets/screenshots/firmware_error.png)
-
-### Устройство не загружается после обновления
-
-Если твоё устройство не загружается:
-
-1. Попробуйте подключиться по USB к компьютеру
-2. Используйте Web Flasher в режиме восстановления/DFU
-3. Прошивайте заведомо рабочую версию прошивки
-4. Обратитесь к Discord-серверу Meshtastic для получения инструкций по восстановлению, специфичных для твоего устройства
-
-### Предупреждения о совместимости
-
-Приложение может показывать предупреждения, когда:
-
-- Прошивка подключённого радио ниже минимально поддерживаемой версии
-- Несовпадение мажорных версий приложения и прошивки
-- Устаревшие функции требуют миграции
-
-> ⚠️ **Важно:** Всегда обновляйте приложение Meshtastic до или одновременно с обновлением прошивки, чтобы обеспечить совместимость.
-
-## Связанные темы
-
-- [Подключения](connections) — восстановление соединения после обновления прошивки
-- [Руководство по прошивке](https://meshtastic.org/docs/getting-started/flashing-firmware)— полное пошаговое руководство по полной прошивке на meshtastic.org
-- [Поддерживаемые устройства](https://meshtastic.org/docs/hardware/devices) — проверьте совместимость прошивки с устройством
-- [Часто задаваемые вопросы](https://meshtastic.org/docs/faq/) — распространённые вопросы на meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/help-and-docs.html b/v2.8.0/docs/ru-rRU/user/help-and-docs.html deleted file mode 100644 index c2f94a2180..0000000000 --- a/v2.8.0/docs/ru-rRU/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Справка и встроенная документация - - - -
# Справка и встроенная документация
-
-Эта же пользовательская документация поставляется **внутри приложения**, поэтому вы можете читать её офлайн, не покидая Meshtastic. Откройте её через **Настройки → Справка и документация**.
-
-## Просмотр
-
-Браузер документации отображает список всех страниц руководства пользователя. Нажмите на страницу, чтобы прочитать её; изображения и перекрёстные ссылки работают точно так же, как здесь.
-
-![Оглавление встроенного браузера документации](../../assets/screenshots/docs-browser_toc.png)
-
-### Поиск
-
-Нажмите на значок поиска и введите текст, чтобы отфильтровать страницы по названию и ключевым словам — результаты обновляются по мере твоего ввода.
-
-![Поиск во встроенной документации](../../assets/screenshots/docs-browser_search.png)
-
-Страница, открытая в браузере:
-
-![Страница документации, отображаемая в приложении](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — ИИ-ассистент
-
-**Chirpy** отвечает на вопросы о Meshtastic на естественном языке, используя в качестве источника эту встроенную документацию. Нажмите кнопку Chirpy в браузере документации, введите вопрос — и он ответит, предложив ответ и ссылки на соответствующие страницы.
-
-![ИИ-ассистент Chirpy отвечает на вопрос, показывая ссылки на страницы](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Приватность:** На поддерживаемых устройствах Google-версии Chirpy работает на самом устройстве с помощью Gemini Nano — твои вопросы никогда не покидают твой телефон. Небольшая модель загружается при первом использовании.
-
-> ⚠️ **Примечание:** В сборках для F-Droid, настольного приложения и iOS Chirpy переключается на **поиск по ключевым словам** в документации вместо генеративной модели. Если твоё устройство не поддерживает встроенный ИИ, ассистент скрыт, и ты по-прежнему можешь просматривать и искать документацию обычным способом.
-
-## Связанные темы
-
-- [Перевод приложения](translate) — как эти страницы локализуются на другие языки
-- [Функции приложения](app-functions) — отдельная интеграция с системным ИИ (отличается от Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/map-and-waypoints.html b/v2.8.0/docs/ru-rRU/user/map-and-waypoints.html deleted file mode 100644 index dfecae3aab..0000000000 --- a/v2.8.0/docs/ru-rRU/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Карта и путевые точки - - - -
# Карта и путевые точки
-
-Экран карты показывает географическое положение нод твоей mesh-сети, а также общие путевые точки.
-
-## Вид карты
-
-На карте отображаются:
-
-- **Расположение нод** — цветные маркеры для каждой ноды, передающей свои координаты
-- **Путевые точки** — общие точки интереса
-- **Твоё местоположение** — твоё текущее местоположение по GPS
-
-### Маркеры нод
-
-Каждая нода, передающая своё местоположение, отображается в виде **маркера-бирки** с коротким именем ноды. Цвет бирки определяется собственным цветом идентификации ноды (постоянным цветом, получаемым из её номера) — тем же самым, что используется в списке нод, поэтому нода везде выглядит одинаково. Цвет маркера **не** отображает статус в сети/не в сети. Когда местоположение ноды обновляется в реальном времени, её маркер ненадолго подсвечивается пульсацией. Близко расположенные маркеры группируются в кластеры при уменьшении масштаба.
-
-### Управление картой
-
-- **Масштаб** — используйте щипок или кнопки +/-
-- **Перемещение** — перетаскивайте карту для исследования
-- **Центрирование** — нажмите кнопку местоположения, чтобы отцентрировать карту на твоё местоположение
-- **Нажатие на ноду** — коснитесь маркера ноды для просмотра подробностей
-
-Плавающая панель инструментов предоставляет быстрый доступ к компасу, переключению слоёв, фильтрам нод, обновлению и отслеживанию местоположения. Нажмите на компас, чтобы сориентировать карту на север, или нажмите кнопку местоположения, чтобы отцентрироваться на твоей текущей позиции.
-
-![Элементы управления картой](../../assets/screenshots/map_controls_overlay.png)
-
-## Путевые точки
-
-Путевые точки — это общие географические точки интереса, которые видят все участники mesh-сети.
-
-### Создание путевой точки
-
-1. Нажмите и удерживайте карту в нужном месте.
-2. Введите имя и, при желании, описанье.
-3. Выберите значок/эмодзи для путевой точки.
-4. Нажмите **"Отправить"**, чтобы поделиться с mesh-сетью.
-
-Путевые точки адресуются так же, как сообщения: по умолчанию они передаются в основном канале, но путевую точку также можно отправить на конкретном канале или как личное сообщение одной ноде.
-
-### Свойства путевой точки
-
- Свойство        | Описание                                                                 |
- --------------- | ------------------------------------------------------------------------ |
- Имя             | Короткий идентификатор (не более 29 символов)         |
- Описание        | Необязательное более длинное описание                                    |
- Значок          | Визуальный эмодзи маркер на карте                                        |
- Заблокировано   | Если заблокировано, только создатель может изменить или удалить          |
- Истечение срока | Необязательная дата и время автоматического удаления                     |
- Геозона         | Необязательная зона оповещения о входе/выходе — см. ниже |
-
-### Истечение срока путевой точки
-
-Для путевых точек можно настроить автоматическое истечение срока:
-
-- **Никогда** (по умолчанию) — путевая точка остаётся, пока не будет удалена вручную
-- **По времени** — выберите конкретные дату и время; путевая точка будет автоматически удалена, как только это время наступит. Полезно для временных меток, таких как точки сбора, опасности или места встреч.
-
-Истёкшие путевые точки автоматически скрываются с карты, чтобы не загромождать отображение. Обратный отсчёт до истечения срока основан на заданном тобою абсолютном времени, а не на промежутке с момента создания или получения путевой точки.
-
-### Геозоны путевых точек
-
-Любая путевая точка может также задавать **геозону** — область оповещения, — чтобы ты или другие участники получали уведомления, когда нода входит в неё или покидает её:
-
-1. Задайте **радиус геозоны** с помощью готовых вариантов (или **"Выкл"**, чтобы отключить), либо нажмите **"Задать область на карте"**, чтобы нарисовать собственную прямоугольную область.
-2. После задания области включите переключатели **"Оповещать при входе"** и/или **"Оповещать при выходе"**.
-3. При необходимости включите **"Только избранные"**, чтобы ограничить оповещения только избранными нодами.
-
-Поскольку путевые точки (и их геозоны) передаются всей mesh-сети, по умолчанию оповещается только **создатель**. Если кто-то другой поделился с вами путевой точкой с геозоной, в её подробностях отображается опция **"Оповещать меня о пересечениях"**, позволяющая тебе также получать оповещения о входе/выходе.
-
-### Управление путевыми точками
-
-- Нажмите на путевую точку на карте, чтобы просмотреть её сведения и координаты
-- Редактируйте или удаляйте созданные тобою путевые точки
-- **Заблокированные путевые точки** не могут быть изменены или удалены другими нодами — только создатель может их редактировать
-- Незаблокированные путевые точки может редактировать любой участник mesh-сети
-
-## Слои карты
-
-Нажмите на значок слоёв на карте, чтобы открыть **"Управление слоями карты"**, где можно импортировать собственные слои в формате `.kml`, `.kmz` или GeoJSON — либо открыв файл с помощью Meshtastic, либо передав его в приложение из другой программы. Импортированные слои отображаются в списке с переключателем для показа/скрытия каждого и возможностью удалить слой. Доступно как в Google Play, так и в F-Droid сборках.
-
-### Планировщик участков
-
-**Планировщик участков** оценивает радиочастотное покрытие для передатчика и отображает его на карте в виде цветового наложения. Откройте его с панели управления картой или со страницы сведений о ноде через **"Оценку покрытия"** (отображается только для нод с известным местоположением). Настройте передатчик (местоположение, частота, мощность передачи, усиление и высота антенны), приёмник (чувствительность, высота) и параметры симуляции (максимальная дальность, рельеф высокого разрешения, цветовая палитра), затем запустите расчёт. Как и слои карты, планировщик участков работает как в Google Play, так и в F-Droid сборках.
-
-## Передача геоданных
-
-### Включение передачи геоданных
-
-Твоя нода передаёт свои GPS-координаты на основе:
-
-- **Фиксированный интервал** — передача координат через равные промежутки времени
-- **Адаптивная передача** — передача при превышении порога движения
-- **Вручную** — делиться только по явному запросу
-
-Настройте поведение передачи геоданных в **Настройки → Геоданные**.
-
-### Вопросы приватности
-
-> 🔒 **Приватность:** Данные о местоположении передаются всем нодам на твоём канале. Если ты не хочешь раскрывать своё местоположение, отключите GPS в настройках или используйте фиксированное/фиктивное местоположение.
-
-## Источники карт
-
-Основная карта зависит от варианта сборки: сборки для **Google Play** используют Google Maps, а сборки **F-Droid** и настольные — OpenStreetMap. Поверх основной карты доступны дополнительные источники плиток в качестве наложений или альтернатив:
-
-- Спутниковый снимки (где доступно)
-- Офлайн-плитки (загружайте области карт для использования офлайн)
-
-## Связанные темы
-
-- [Ноды](nodes) — просмотр и фильтрация списка нод
-- [Метрики нод](node-metrics) — качество сигнала и история местоположения для отдельных нод
-- [Обнаружение](discovery) — трассировка и информация о соседях для понимания топологии mesh-сети
-- [Единицы измерения и регион](units-and-locale) — форматы отображения расстояний и координат
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/messages-and-channels.html b/v2.8.0/docs/ru-rRU/user/messages-and-channels.html deleted file mode 100644 index daa1e683c9..0000000000 --- a/v2.8.0/docs/ru-rRU/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Сообщения и каналы - - - -
# Сообщения и каналы
-
-Meshtastic поддерживает два режима связи: **вещание по каналам** и **личные сообщения**.
-
-## Каналы
-
-Каналы - это общие группы для связи. Все узлы, настроенные с одинаковым ключом канала, могут читать и отправлять сообщения в этом канале.
-
-### Канал по умолчанию
-
-Каждое устройство Meshtastic имеет канал **LongFast** по умолчанию. Это незашифрованный канал, используемый для общей связи в ячеистой сети.
-
-### Безопасность канала
-
-Каналы поддерживают несколько уровней шифрования:
-
- Иконка | Уровень безопасности                 | Описание                                                                                                                                                                  |
- ------ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒     | PSK (256-bit AES) | Полностью зашифрован надёжным предварительно согласованным ключом. Только узлы с соответствующим ключом могут читать сообщения.           |
- 🔐     | PSK (128-bit AES) | Зашифрован более коротким ключом. Безопасен для большинства задач, но 256-битное шифрование предпочтительнее для конфиденциальных данных. |
- 🔓     | По умолчанию / Открытый              | Использует общеизвестный ключ по умолчанию. **Любое устройство Meshtastic** с той же пред установкой может читать эти сообщения.          |
- ⚠️     | Незащищённый + Местоположение        | Открытый канал, который также передаёт ваше GPS-местоположение. Используйте с осторожностью в общественных ячеистых сетях.                |
-
-> 🔒 **Совет по безопасности:** Всегда настраивайте уникальный PSK для личных сообщений. Канал по умолчанию намеренно открыт, чтобы новые пользователи могли обнаружить mesh-сеть — но вам следует создать отдельный зашифрованный канал для любой конфиденциальной информации.
-
-### Добавление канала
-
-1. Перейдите в **Настройки → Каналы**.
-2. Нажмите **Добавить канал** или сканируйте QR-код.
-3. Настройте имя канала и ключ шифрования.
-4. Поделитесь URL-адресом/QR-кодом канала с теми, кому нужен доступ.
-
-При нажатии на канал отображаются его сведения и опции для отправки приглашения.
-
-## Личные сообщения
-
-Личные сообщения (DMs) — это зашифрованная связь точка - к - точке между двумя конкретными узлами.
-
-### Отправка личного сообщения
-
-1. Откройте вкладку **Сообщения**.
-2. Выберите ноду из списка контактов или нажмите на ноду в списке нод.
-3. Введите сообщение и нажмите **"Отправить"**.
-
-### Состояние сообщения
-
-Метка статуса отображается только **под твоими** исходящими сообщениями (входящие сообщения от других не имеют метки статуса):
-
- Состояние                             | Значение                                                                                                                                                             |
- ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Отправка…                             | В очереди или уже передано на радио, результат ещё не определён (для статусов "в очереди" и "в пути»" отображается одинаковый текст)              |
- Доставлено получателю                 | Самое надёжное подтверждение для личного сообщения — получено подтверждение о доставке                                                                               |
- Отправлено в сеть                     | Для широковещательного сообщения в канале — сообщение достигло mesh-сети (у широковещательных сообщений нет подтверждений для каждого получателя) |
- Передано, не подтверждено получателем | Для личного сообщения, отображается предупреждающим цветом — сообщение было ретранслировано, но подтверждение ещё не получено                                        |
- Маршрутизация по SF++ цепочке…        | Находится в процессе маршрутизации/буферизации в цепочке Store & Forward Plus Plus                                                               |
- Подтверждено в цепочке SF++           | Подтверждена доставка через цепочку SF++                                                                                                                             |
- Ошибки                                | Ошибка доставки — нажмите на статус, чтобы узнать конкретную причину (см. раздел «Ошибки доставки» ниже)                          |
-
-### Ошибки доставки
-
-Когда сообщение не удаётся доставить, индикатор ошибки показывает, что пошло не так:
-
- Ошибки                       | Значение                                                  | Что делать                                                                                                                                                                          |
- ---------------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Нет маршрута                 | Путь к целевой ноде отсутствует                           | Получатель может быть не в сети или вне зоны действия mesh-сети. Повторите попытку позже или подойдите ближе.                                       |
- Получен NAK                  | Следующая нода отказалась ретранслировать                 | Ретранслирующая нода может быть перегружена. Подождите и повторите попытку.                                                                         |
- Время ожидания истекло       | Нет подтверждения в пределах окна повторных попыток       | Получатель, возможно, находится сразу за пределами зоны досягаемости. Попробуйте увеличить лимит хопов или переместиться в место с лучшим сигналом. |
- Нет интерфейса               | Нет доступного радиоинтерфейса для отправки               | Проверь, подключено ли твоё радио и настроен ли канал.                                                                                                              |
- Исчерпаны повторные передачи | Все попытки повторной отправки исчерпаны                  | Путь в mesh-сети ненадёжен. Попробуйте другой канал или дождитесь улучшения условий.                                                                |
- Нет канала                   | Канал назначения не существует                            | Убедитесь, что обе ноды используют одинаковую конфигурацию канала.                                                                                                  |
- Слишком большое              | Сообщение превышает максимальный размер полезной нагрузки | Сократите сообщение (максимум ~200 символов).                                                                                    |
- Без ответа                   | Нода получила сообщение, но не ответила                   | Радио получателя может быть занято или находиться в спящем режиме с низким энергопотреблением.                                                                      |
- Ограничение рабочего цикла   | Достигнут региональный лимит эфирного времени             | Твоё радио исчерпало разрешённое время передачи. Дождитесь сброса окна рабочего цикла (обычно 1 час в регионах ЕС).              |
- Неверный запрос              | Повреждённое или недействительное сообщение               | Обычно это указывает на программную ошибку. Попробуйте перезапустить приложение.                                                                    |
-
-> 💡 **Совет:** Большинство ошибок доставки разрешаются сами собой. Если нода доступна с перебоями, mesh-сеть будет повторять попытки. При постоянных ошибках «Нет маршрута» проверьте, что промежуточные ноды-роутеры находятся в сети.
-
-## Функции сообщений
-
-### Быстрый чат
-
-Заранее подготовленные сообщения для быстрой связи:
-
-- Доступ через кнопку "Быстрый чат" в области ввода сообщения
-- Выберите из встроенных фраз или собственных сообщений
-- Настройте сообщения быстрого чата в **Настройки → Быстрый чат**
-- Полезно, когда набирать текст неудобно (перчатки, маленький экран, срочность)
-
-![Опция быстрого чата](../../assets/screenshots/messages_quick_chat.png)
-
-Каждая запись быстрого чата имеет короткое **Имя** (надпись на кнопке), **Сообщение**, которое она вставляет, и переключатель **"Отправить сразу"** — когда он включён, нажатие кнопки немедленно отправляет сообщение, а не помещает его в поле ввода для редактирования:
-
-![Диалог создания быстрого чата с именем, сообщением и переключателем мгновенной отправки](../../assets/screenshots/messages_edit_quick_chat.png)
-
-Список каналов показывает каждый канал с предпросмотром последнего сообщения.
-
-### Поиск сообщений
-
-Ты можешь искать по всей истории любой переписки прямо на экране чата:
-
-1. Откройте переписку (канал или личное сообщение).
-2. Нажмите **значок поиска** в верхней панели.
-3. Введите текст в поле **"Поиск сообщений…"**. Поиск выполняется по мере твоего ввода по всем сохранённым сообщениям в этой переписке.
-4. Используйте счётчик результатов **N / M** и стрелки **вперёд / назад** для перехода между совпадениями, которые подсвечиваются в переписке.
-
-![Панель поиска сообщений со счётчиком результатов и стрелками вперёд/назад](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Совет:** Поиск полнотекстовый и ограничивается перепиской, из которого ты его открыл — он не ищет по другим каналам или контактам. Он сопоставляет текст с сообщениями, уже сохранёнными на твоём устройстве, поэтому работает полностью офлайн.
-
-### Пузырьки сообщения
-
-Сообщения отображаются в виде пузырьков чата — отправленные справа, полученные слева. В каждом пузырьке отображаются отправитель, время и статус доставки. Сообщения с ответами содержат цитируемый предпросмотр исходного сообщения над ответом.
-
-### Форматирование текста
-
-Сообщения поддерживают облегчённую встроенную разметку Markdown. Полученные сообщения отображают оформление со скрытыми символами синтаксиса:
-
- Тип            | Синтаксис                      | Отображается как      |
- -------------- | ------------------------------ | --------------------- |
- Жирный         | `**жирный**`                   | **жирный**            |
- Курсив         | `*курсив*`                     | _курсив_              |
- Зачёркнутый    | `~~зачёркнутый~~`              | ~~зачёркнутый~~       |
- Встроенный код | `` `код` ``                    | моноширинный `код`    |
- Ссылка         | `[текст](https://example.com)` | нажимаемая **ссылка** |
-
-При создании сообщения установите фокус на поле ввода и введите не менее трёх символов — под полем появится **панель форматирования**. Выделите текст и нажмите на стиль, чтобы применить его (повторное нажатие убирает форматирование); если текст не выделен, будет вставлена пустая пара символов разметки, а курсор окажется между ними. Кнопка вставки ссылки открывает диалог для ввода URL-адреса. В процессе твоего набора черновые стили отображаются в поле, но в самом тексте сохраняются символы Markdown.
-
-> 💡 **Совет:** Форматирование передаётся по mesh-сети как есть — теми же байтами, что и iOS. Клиенты, не поддерживающие Markdown (старые приложения, простые клиенты на прошивке), отобразят сырые символы `**`/`~~`. URL-адреса, адреса электронной почты и номера телефонов всё равно автоматически становятся ссылками независимо от того, используете ли вы Markdown.
-
-### Упоминания
-
-Введите `@` при написании сообщения, чтобы упомянуть ноду — по мере твоего ввода будет появляться список подходящих контактов. В полученном сообщении упоминание отображается как выделенный элемент с именем ноды; нажмите на него, чтобы сразу перейти на страницу сведений о ноде.
-
-### Реакции
-
-Реагируйте на сообщения с помощью эмодзи:
-
-- **Нажмите и удерживайте** сообщение, чтобы открыть меню действий
-- Нажмите **"Добавить реакцию"**, чтобы выбрать эмодзи
-- Реакции появляются под пузырьком сообщения
-- Несколько пользователей могут отреагировать на одно и то же сообщение
-- Реагируйте на свои сообщения или сообщения других
-
-![Значки реакций-эмодзи, отображаемые под сообщением](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Совет:** Реакции очень лёгкие — они потребляют гораздо меньше трафика mesh-сети по сравнению с полными текстовыми сообщениями.
-
-### Действия с сообщениями
-
-Нажмите и удерживайте любое сообщение, чтобы получить доступ к:
-
-- **Копировать** — скопировать текст сообщения в буфер обмена
-- **Ответить** — процитировать сообщение в твоём ответе
-- **Реагировать** — добавить реакцию-эмодзи
-- **Перевести** — перевести полученное сообщение на язык твоего устройства и переключаться между оригиналом и переводом (только в сборке Google Play; используется встроенный перевод)
-- **Удалить** — удалить отправленное тобою сообщение (локальное удаление)
-
-### Приоритет сообщений
-
-Сообщения ставятся в очередь и передаются в соответствии с приоритетом:
-
-1. Экстренные/аварийные сообщения (наивысший)
-2. Личные сообщения
-3. Широковещательные сообщения в канале (самый низкий)
-
-### Ограничения сообщений
-
-- **Максимальная длина**: 200 байт (примерно 200 символов для текста в ASCII)
-- Ограничение в 200 байт применяется к встроенному редактору сообщений — сам лимит полезной нагрузки в mesh-сети составляет ~233 байта, поэтому сообщения от других отправителей (например, App Functions или Android Auto) могут быть немного длиннее
-- **Ограничение скорости**: Mesh-сеть обеспечивает справедливое распределение эфирного времени; большой объем сообщений может быть ограничен
-- **Доставка**: Сообщения автоматически повторяются при отсутствии подтверждения
-
-## Рекомендации
-
-- Используйте каналы для координации в группах
-- Используйте личные сообщения для приватного общения один на один
-- Пишите короткие сообщения — пропускная способность mesh-сети ограничена
-- Настройте шифрование для конфиденциальной связи
-
-## Связанные темы
-
-- [Ноды](nodes) — нажмите на ноду, чтобы начать личный чат
-- [Настройки — Радио и пользователь](settings-radio-user) — настройка шифрования каналов и пресетов
-- [MQTT](mqtt) — мост для передачи сообщений канала в интернет
-- [Конфигурация каналов](https://meshtastic.org/docs/configuration/radio/channels) — подробные параметры каналов на meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/mqtt.html b/v2.8.0/docs/ru-rRU/user/mqtt.html deleted file mode 100644 index 80bb7ba9f2..0000000000 --- a/v2.8.0/docs/ru-rRU/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT соединяет твою mesh-сеть Meshtastic с интернетом, обеспечивая связь на больших расстояниях за пределами радиодиапазона.
-
-## Обзор
-
-Модуль MQTT подключает вашу ноду к MQTT-брокеру, что позволяет:
-
-- Сообщениям достигать нод в других физических mesh-сетях через интернет
-- Интегрироваться с системами домашней автоматизации и мониторинга
-- Публиковать местоположения нод на публичной карте Meshtastic
-- Создавать собственные каналы данных для журналирования и оповещений
-
-## Как это работает
-
-```
-[Ваша нода] → Радио → [Шлюзовая нода с WiFi] → MQTT-брокер → [Удалённый шлюз] → Радио → [Удалённая нода]
-```
-
-Шлюзовая нода с доступом в интернет (WiFi или Ethernet) публикует сообщения mesh-сети в топик MQTT. Удалённые шлюзы, подписанные на тот же топик, передают эти сообщения в свою локальную mesh-сеть.
-
-## Настройки
-
-### Включение MQTT
-
-1. Перейдите в **Настройки → Конфигурация модулей → MQTT**.
-2. Включите модуль MQTT.
-3. Настройте подключение к брокеру:
-
-![Переключатель MQTT](../../assets/screenshots/settings_switch.png)
-
- Настройка           | Описание                                                                            | По умолчанию                                        |
- ------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------- |
- Адрес сервера       | Имя хоста MQTT-брокера                                                              | mqtt.meshtastic.org |
- Имя пользователя    | Аутентификация брокера                                                              | meshdev                                             |
- Пароль              | Аутентификация брокера                                                              | large4cats                                          |
- Корневая тема       | Базовый топик для сообщений                                                         | msh                                                 |
- Шифрование          | Шифровать полезную нагрузку MQTT                                                    | Включено                                            |
- ~~Вывод в JSON~~    | ⚠️ **Устарело** — поддержка JSON-пакетов удалена из прошивки; это поле игнорируется | Отключено                                           |
- TLS                 | Безопасное подключение к брокеру                                                    | Отключено                                           |
- Публикация на карте | Сообщать о местоположении на публичную карту                                        | Отключено                                           |
-
-### MQTT-прокси на этом телефоне
-
-Если у твоей ноды нет собственного доступа в интернет, она может использовать подключённый телефон как MQTT-шлюз: включите **MQTT** и **Прокси для клиента** в конфигурации модуля, и приложение будет передавать трафик MQTT между радио и брокером через интернет-соединение твоего телефона.
-
-Переключатель **MQTT-прокси на этом телефоне** в верхней части экрана настроек MQTT показывает, запущена ли сейчас эта ретрансляция, и позволяет тебе немедленно отключить (или перезапустить) её — без редактирования и повторного сохранения конфигурации MQTT устройства.
-
-### Стандартный брокер Meshtastic
-
-Сообщество поддерживает публичный брокер по адресу `mqtt.meshtastic.org`. Он предназначен для общего использования и тестирования.
-
-> ℹ️ **Примечание:** Подключения к `mqtt.meshtastic.org` всегда используют TLS (порт 8883), даже если переключатель TLS выключен. Для любого другого брокера TLS используется только при включении (порт 8883 с TLS, 1883 без).
-
-> 🔒 **Приватность:** Сообщения на публичном брокере доступны для чтения всем, кто подписан. Всегда используйте шифрование каналов для конфиденциальной связи.
-
-### Частный брокер
-
-Для большей приватности и контроля ты можешь запустить собственный MQTT-брокер:
-
-- Mosquitto (легковесный, с открытым исходным кодом)
-- HiveMQ
-- EMQX
-
-Настройте свою ноду на подключение к частному брокеру с соответствующими учётными данными.
-
-## Публикация на карте
-
-Когда публикация на карте включена, твоя нода отправляет своё местоположение на карту сообщества Meshtastic:
-
-- Доступно на [meshmap.net](https://meshmap.net) и аналогичных картографических сервисах сообщества
-- Передаются только координаты и информация о ноде
-- Отключи эту функцию, если не хочешь, чтобы твоё местоположение было общедоступным
-
-## Uplink и Downlink
-
- Направление                                  | Описание                              |
- -------------------------------------------- | ------------------------------------- |
- **Uplink** (восходящий)   | Сообщения из mesh-сети → MQTT-брокер  |
- **Downlink** (нисходящий) | Сообщения от MQTT-брокера → mesh-сеть |
-
-Настройте для каждого канала активные направления, чтобы управлять потоком сообщений и использованием эфирного времени.
-
-## Форматы сообщений
-
-MQTT использует формат сообщений protobuf:
-
- Формат       | Описание                                 | Сценарий использования           |
- ------------ | ---------------------------------------- | -------------------------------- |
- **Protobuf** | Бинарное кодирование Meshtastic protobuf | Соединение нод между mesh-сетями |
-
-> ⚠️ **Примечание:** Поддержка вывода в JSON была удалена из прошивки. Настройка `json_enabled` всё ещё отображается в приложении для обратной совместимости, но не влияет на текущие версии прошивки.
-
-## Шифрование и приватность
-
-Понимание многоуровневой модели шифрования:
-
-1. **Шифрование канала** происходит в mesh-сети _до_ MQTT. Если твой канал использует PSK, полезная нагрузка MQTT уже зашифрована — брокер и любые подписчики видят только зашифрованный текст.
-2. **Шифрование MQTT** (настройка модуля) добавляет дополнительный уровень шифрования при передаче к брокеру. Это защищает метаданные и информацию о маршрутизации.
-3. **TLS** шифрует само TCP-соединение с брокером, предотвращая перехват на сетевом уровне.
-
-> 🔒 **Важно:** Публичный канал по умолчанию использует общеизвестный ключ. Сообщения в канале по умолчанию, отправленные через MQTT, фактически **не зашифрованы** — кто угодно может их расшифровать. Всегда используйте собственный PSK для конфиденциальной связи.
-
-## Рекомендации
-
-- Используйте шифрование на уровне канала (PSK) на каналах, подключённых к MQTT
-- Не включайте MQTT на нодах без доступа в интернет (это приведёт к буферизации и напрасной трате памяти)
-- Используйте частный брокер для задач, требующих повышенной безопасности
-- Учитывайте эфирное время при передаче сообщений из загруженных MQTT-топиков — каждое такое сообщение расходует радиоэфирное время в вашей локальной mesh-сети
-- Рассмотрите включение режима "только uplink", если нужно лишь удалённо наблюдать за mesh-сетью, не отправляя сообщения обратно
-
-## Устранение неполадок
-
-### MQTT не подключается
-
-- **Проверьте WiFi** — шлюзовая нода должна иметь активное подключение к интернету (WiFi или Ethernet). MQTT не работает через сам радиоканал LoRa.
-- **Проверьте учётные данные** — неверное имя пользователя или пароль на большинстве брокеров приводят к тихому сбою. Проверьте, нет ли лишних пробелов в конце.
-- **Брандмауэр** — порт 1883 (MQTT) или 8883 (MQTT+TLS) должен быть открыт. Некоторые сети блокируют нестандартные порты.
-- **Разрешение DNS** — если используется имя хоста собственного брокера, убедитесь, что нода может его разрешить. Попробуйте подключиться напрямую по IP-адресу брокера.
-
-### Сообщения не проходят через мост
-
-- **Проверьте настройки uplink/downlink** — если включён только uplink, сообщения идут из mesh-сети в MQTT, но не обратно. Включите downlink на принимающем шлюзе.
-- **Несовпадение каналов** — оба шлюза должны использовать один и тот же канал с одинаковым PSK. Несовпадение означает, что сообщения зашифрованы разными ключами и выглядят как мусор.
-- **Несовпадение топиков** — убедитесь, что оба шлюза используют одинаковый корневой топик. Стандартный `msh` работает для публичного брокера.
-
-## Связанные темы
-
-- [Настройки — Модули и администрирование](settings-module-admin) — справочник по конфигурации модуля MQTT
-- [Сообщения и каналы](messages-and-channels) — шифрование каналов и настройка PSK
-- [Руководство по интеграции MQTT](https://meshtastic.org/docs/software/integrations/mqtt) — подробная документация по MQTT на meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/node-metrics.html b/v2.8.0/docs/ru-rRU/user/node-metrics.html deleted file mode 100644 index 68d73d688d..0000000000 --- a/v2.8.0/docs/ru-rRU/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Метрики ноды - - - -
# Метрики ноды
-
-Экран сведений о ноде предоставляет подробную телеметрию и метрики для каждой ноды твоей mesh-сети.
-
-## Интервал передачи
-
-Основная информация о работе, сообщаемая каждой нодой:
-
- Метрическая          | Описание                                  |
- -------------------- | ----------------------------------------- |
- Уровень заряда       | Текущий процент заряда батареи            |
- Напряжение           | Показания напряжения батареи              |
- Использование канала | Процент израсходованного эфирного времени |
- Эфирное время        | Время передачи, использованное этой нодой |
- Аптайм               | Время с момента последней перезагрузки    |
-
-Метрики устройства отображаются в виде отдельных карточек с трендовыми спарклайнами, показывающими уровень заряда, напряжение, использование канала, эфирное время и время безотказной работы(аптайма) с течением времени.
-
-> 💡 **Совет:** Нажмите на любую карточку метрики, чтобы развернуть её в полноценный график с историческими точками данных. Масштабируйте временную ось щипком.
-
-## Метрики окружения
-
-Данные датчиков окружающей среды (требуется совместимое оборудование):
-
- Метрическая                               | Примеры сенсоров      |
- ----------------------------------------- | --------------------- |
- Температура                               | BME280, BME680, SHT31 |
- Влажность                                 | BME280, BME680, SHT31 |
- Давление на барометре                     | BME280, BMP280        |
- Сопротивление газа                        | BME680                |
- IAQ (Качества воздуха) | BME680                |
-
-Метрики окружающей среды отображаются на графиках с течением времени для удобного анализа тенденций — температура, влажность и давление выводятся каждый в виде отдельного линейного графика с единицами измерения по оси Y.
-
-Индекс **IAQ (качество воздуха в помещении)** датчика BME680 представляет собой единое значение от 0 до 500+, полученное на основе сопротивления газа, и отображается на цветовой шкале от **"Отлично"** до **"Опасно загрязнён"**:
-
-![Шкала индекса IAQ от Отлично до Опасно загрязнён](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Совет:** Для получения метрик окружающей среды к удалённой ноде должен быть подключён датчик. Не все ноды передают данные об окружающей среде. См. [Телеметрия и датчики](telemetry-and-sensors) для получения полного списка поддерживаемых датчиков.
-
-## Метрики качества воздуха
-
-Качество воздуха — это отдельный экран метрик для нод, оснащённых датчиком взвешенных частиц и/или CO₂. Этот **экран отделён от показателя IAQ датчика BME680**, отображаемого в разделе "Метрики окружающей среды" — IAQ представляет собой единый индекс, основанный на сопротивлении газа, тогда как экран качества воздуха показывает графики исходных измерений взвешенных частиц и CO₂.
-
- Метрическая           | Единица    | Описание                                                                                                                                                                                                                                                      |
- --------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | мкг/м³     | Взвешенные частицы размером до 1,0 микрона                                                                                                                                                                                                                    |
- PM2.5 | мкг/м³     | Взвешенные частицы размером до 2,5 микрона                                                                                                                                                                                                                    |
- PM10                  | мкг/м³     | Взвешенные частицы размером до 10 микронов                                                                                                                                                                                                                    |
- AQI                   | Индекс EPA | AQI EPA по методу **NowCast**, вычисляемый на основе твоей недавней истории PM2.5, с цветовой меткой уровня опасности. Отображается рядом с PM2.5, как только накопится достаточно показаний. |
- CO₂                   | ppm        | Концентрация углекислого газа                                                                                                                                                                                                                                 |
- Температура CO₂       | °C / °F    | Температура, сообщаемая самим датчиком CO₂ (например, SCD4x)                                                                                                                                                                               |
- Влажность CO₂         | %          | Относительная влажность, сообщаемая датчиком CO₂                                                                                                                                                                                                              |
-
-Показания CO₂ окрашены по уровню опасности, чтобы качество воздуха можно было легко оценить с первого взгляда:
-
- Диапазон    | Диапазон CO₂ (ppm) | Цвет          |
- ----------- | ------------------------------------- | ------------- |
- Хороший     | < 1000       | Зеленый       |
- Душно       | < 2000       | Янтарный      |
- Плохо       | < 5000       | Оранжевый     |
- Небезопасно | < 30000      | Красный       |
- Эвакуация   | ≥ 30000                               | Тёмно-красный |
-
-![Показания качества воздуха с цветовой кодировкой уровня CO₂](../../assets/screenshots/node-metrics_air_quality.png)
-
-Кнопка журнала/метрик качества воздуха появляется на экране сведений о ноде **только в том случае, если нода передала телеметрию о качестве воздуха**. В режиме просмотра качества воздуха ты можешь:
-
-- Выбрать **временной интервал** для графиков.
-- Фильтровать с помощью **кнопок метрик** — отображаются только те метрики, по которым есть данные.
-- **Обновить / запросить** последнюю телеметрию о качестве воздуха.
-- **Экспортировать в CSV** для анализа в электронных таблицах.
-
-> 💡 **Совет:** Для получения метрик качества воздуха на удалённой ноде должен быть установлен совместимый датчик. Если у ноды нет датчика взвешенных частиц или CO₂, кнопка качества воздуха не появится. См. [Телеметрия и датчики](telemetry-and-sensors) для получения информации о поддерживаемом оборудовании.
-
-## Показатели сигнала
-
-Информация о качестве радиосигнала:
-
- Метрическая               | Описание                                                                                                      |
- ------------------------- | ------------------------------------------------------------------------------------------------------------- |
- Сигнал/шум                | Отношение сигнал/шум (SNR) (чем выше, тем лучше)                        |
- RSSI                      | Индикатор уровня принимаемого сигнала (Rssi) (чем ближе к 0, тем лучше) |
- Уровень собственных шумов | Местный фоновый радиочастотный шум в дБм (чем более отрицательное значение, тем тише)      |
- Количество хопов          | Количество хопов в mesh-сети для последнего сообщения                                                         |
-
-### Оценка качества сигнала
-
-Качество сигнала оценивается по **SNR относительно минимального уровня демодуляции активного пресета LoRa-модема**, а не по фиксированным порогам — конкретное значение SNR означает разное на разных пресетах (например, −15 дБ нормально для LongSlow, но неприемлемо для ShortFast). RSSI отображается, но не учитывается в оценке. Пусть `limit` — это предельное значение SNR для пресета:
-
- Качество    | Критерии                         |
- ----------- | -------------------------------- |
- Хороший     | SNR выше предела пресета         |
- Средний     | менее чем на 5,5 дБ ниже предела |
- Плохой      | от 5,5 до 7,5 дБ ниже предела    |
- Отсутствует | более чем на 7,5 дБ ниже предела |
-
-См. [Понимание измерителя сигнала](signal-meter) для полного объяснения.
-
-Локальная статистика твоего подключённого радио также отображается в разделе "Качество сигнала", когда она доступна. Эти журналы включают уровень шума, счётчики трафика, счётчики ретрансляций, количество нод в сети и время работы радио. График уровня шума использует пунктирную опорную линию на уровне -85 дБм, чтобы помочь определить загруженность радиоэфира. Используйте **"Запросить"**, чтобы запросить у подключённого радио свежий отчёт телеметрии локальной статистики, **"Очистить"** — чтобы удалить журналы локальной статистики для этой ноды, и **"Сохранить"** — чтобы экспортировать видимую историю локальной статистики в формате CSV.
-
-## Метрики питания
-
-Телеметрия управления питанием (требуется датчик INA или совместимое оборудование):
-
- Метрическая     | Описание                        |
- --------------- | ------------------------------- |
- Напряжение шины | Напряжение питания              |
- Ток             | Потребляемый ток в миллиамперах |
- Питание         | Расчётная мощность              |
-
-## Трассировка маршрута
-
-Трассировка показывает путь сообщения через mesh-сеть:
-
-1. На экране сведений о ноде нажмите **"Трассировка"**.
-2. Приложение отправляет запрос трассировки целевой ноде.
-3. Результаты показывают каждый хоп со значениями SNR/RSSI.
-
-### Чтение результатов трассировки
-
-```
-Ты → Нода A (SNR: 8.5) → Нода B (SNR: 5.2) → Цель
-```
-
-Каждый хоп обозначает ретранслирующую ноду, которая переслала сообщение.
-
-## Журнал местоположения
-
-Исторические данные о местоположении для нод, которые делятся своими координатами:
-
-- GPS-координаты
-- Высота
-- Скорость (при движении)
-- Временная метка для каждого отчёта о местоположении
-
-## Информация об окружении
-
-Показывает, какие ноды данная нода может слышать напрямую — полезно для понимания топологии mesh-сети.
-
-## Просмотр метрик
-
-1. Перейдите в раздел **Ноды**.
-2. Нажмите на ноду, которую хотите просмотреть.
-3. Выберите категорию метрик на вкладках с подробностями.
-
-![Сведения о ноде — локальное устройство](../../assets/screenshots/nodes_detail_local.png)
-
-Вкладка "Местоположение" показывает координаты нод, которые передают GPS-данные:
-
-![Встроенное содержимое о местоположении](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Примечание:** Метрики доступны только в том случае, если они были переданы удалённой нодой. Метрики обновляются с интервалами, настроенными в параметрах телеметрии каждой ноды.
-
-## Связанные темы
-
-- [Ноды](nodes) — список нод, фильтрация и сортировка
-- [Телеметрия и датчики](telemetry-and-sensors) — поддерживаемые датчики и настройка
-- [Измеритель сигнал](signal-meter) — как рассчитывается качество сигнала на основе SNR и RSSI
-- [Обнаружение](discovery)— сведения о трассировке и информации о соседях
-- [Единицы измерения и регион](units-and-locale) — форматы отображения температуры, расстояния и скорости
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/nodes.html b/v2.8.0/docs/ru-rRU/user/nodes.html deleted file mode 100644 index dc4ad4198e..0000000000 --- a/v2.8.0/docs/ru-rRU/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Ноды - - - -
# Ноды
-
-Экран нод показывает все устройства, видимые в твоей mesh-сети.
-
-## Список узлов
-
-Список нод показывает все ноды, которые услышало твоё радиоустройство, включая:
-
-- **Имя ноды** — длинное имя, настроенное пользователем
-- **Короткое имя** — 4-символьный идентификатор
-- **Качество сигнала** — последний уровень принимаемого сигнала
-- **Последнее услышанное** — время с последнего общения
-- **Расстояние** — предполагаемое расстояние (если позиции общие)
-- **Батарея** — уровень заряда батареи удалённой ноды (если включена телеметрия)
-
-### Индикаторы состояния ноды
-
- Значок      | Значение                                  |
- ----------- | ----------------------------------------- |
- 🟢 Онлайн   | Нода слышна за последние 2 часа           |
- ⚪ Оффлайн   | Нода не отвечала больше 2 часов           |
- ⭐ Избранный | Нода отмечена пользователем как избранная |
-
-Нода считается **онлайн**, если с ней связывались в последние 2 часа, и **офлайн** в противном случае — отдельного статуса «отошёл» нет.
-
-### Роли ноды
-
-У нод можно настраивать разные роли, которые влияют на их поведение в сети:
-
- Роль                             | Описание                                                                                                                                                        |
- -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Client                           | Стандартное пользовательское устройство                                                                                                                         |
- Client Base                      | Обрабатывает трафик избранных нод как приоритет Router Late; весь остальной трафик как Client                                                                   |
- Client Mute                      | Принимает, но не ретранслирует                                                                                                                                  |
- Client Hidden                    | Как Client Mute, плюс скрыт из списка нод                                                                                                                       |
- Router                           | Ставит в приоритет пересылку сообщений; не засыпает чтобы передавать их                                                                                         |
- Router Late                      | Инфраструктурная нода, которая ретранслирует один раз, но только после всех остальных режимов (обеспечивает дополнительное покрытие)         |
- ~~Router Client~~                | ⚠️ **Устарело** (удалено в прошивке 2.3.15) — больше не выбирается; используй вместо этого Router или Client |
- ~~Repeater~~                     | ⚠️ **Устарело** (удалено в прошивке 2.7.11) — больше не выбирается; используй вместо этого Router            |
- Tracker                          | Оптимизировано для передачи данных о местоположении через регулярные промежутки времени                                                                         |
- Sensor                           | Оптимизировано для данных телеметрии                                                                                                                            |
- Тактический                      | Взаимодействует с системами TAK (отправляет/принимает CoT)                                                                                   |
- TAK Tracker                      | Только отчет о позиции TAK                                                                                                                                      |
- Lost & Found | Непрерывный маяк для поиска                                                                                                                                     |
-
-### Выбор роли
-
-Большинству пользователей стоит оставить роль **Client** по умолчанию. Рассмотри другую роль, когда:
-
-- **Router** — У тебя есть узел в фиксированном, высоком месте с надежным источником питания (крыша, вершина холма). Router постоянно бодрствуют, чтобы пересылать сообщения для других, и они необходимы для расширения покрытия сети. Не используй Router на портативных устройствах с батареей.
-- **Router Late** — инфраструктурная нода, которая всегда пересылает пакеты только один раз, но только после того, как все другие режимы маршрутизации выполнили свои ходы. Обеспечивает дополнительное покрытие для локальных кластеров, не конкурируя с основными роутерами.
-- **Client Base** — обрабатывает трафик от/к вашим избранным нодам с приоритетом Router Late (обеспечивая этим сообщениям дополнительное ретранслирование), а всё остальное обрабатывает как обычный Client.
-- **Client Mute** — хочешь принимать трафик сети, но не участвовать в его ретрансляции. Полезно для устройств только для мониторинга или чтобы уменьшить нагрузку в густонаселённых местах.
-- **Tracker** — это устройство, которое работает само по себе и его единственная цель — передавать местоположение по GPS (например, автомобиль, питомец или имущество). Спит между передачами для экономии батареи.
-- **Sensor** — это автономное устройство, которое отслеживает показатели окружающей среды (температуру, влажность, качество воздуха). Похожий профиль мощности на Tracker.
-- **TAK / TAK Tracker** — нужно только если работать с системами ATAK/WinTAK. Смотри [Интеграция TAK](tak) для подробностей.
-
-> 💡 **Совет:** Сеть работает лучше, когда большинство нод **Client** или **Router**. Слишком много нод Mute снижает устойчивость сети; слишком много роутеров в плотной зоне может вызвать перегрузку. Хорошее практическое правило: один роутер на 5–10 клиентов в вашей зоне.
-
-### Индикаторы шифрования
-
-У нод рядом с именем отображаются значки статуса шифрования:
-
- Значок            | Значение                                                                                                                   |
- ----------------- | -------------------------------------------------------------------------------------------------------------------------- |
- 🔒 Заблокировано  | Связь использует PKI (инфраструктуру публичных ключей) — сквозное шифрование с проверкой идентичности   |
- 🔓 Разблокировано | Связь использует общий канал PSK — зашифровано, но личность не проверяется индивидуально                                   |
- ⚠️ Несовпадение   | Несовпадение открытого ключа — ключ ноды изменился с последнего раза (разберитесь, прежде чем доверять) |
-
-> 💡 **Совет:** Шифрование PKI (прошивка 2.5+) обеспечивает более надёжную защиту, чем общий PSK для канала, потому что у каждой ноды есть уникальная пара ключей. Если видишь предупреждение о несоответствии ключа, нода могла быть сброшена или скомпрометирована.
-
-## Быстрые действия
-
-Из списка нод ты можешь:
-
-- **Нажмите** на ноду, чтобы увидеть её страницу с деталями
-- **Долгое нажатие** для быстрых действий:
-  - Отметить/убрать из избранного
-  - Отключить/включить уведомления
-  - Отправить личное сообщение
-  - Трассировка
-  - Игнорировать/разблокировать
-  - Удалить ноду
-
-## Фильтрация и сортировка
-
-### Поиск текста
-
-Введи в поле поиска, чтобы отфильтровать ноды по имени или короткому имени. Фильтр обновляется в реальном времени по мере набора текста.
-
-### Переключатели фильтра
-
- Фильтр                       | Описание                                                                                     |
- ---------------------------- | -------------------------------------------------------------------------------------------- |
- **Только онлайн**            | Показывать только ноды, услышанные за последние 2 часа                                       |
- **Только прямые**            | Показывать только ноды с прямыми (без посредников) соединениями           |
- **Включить неизвестные**     | Показать ноды, которые еще не отправили информацию о пользователе                            |
- **Исключить инфраструктуру** | Скрыть ноды с инфраструктурными ролями (Router, Router Late, Client Base) |
- **Исключить MQTT**           | Скрыть ноды, слышимые только через интернет-мост MQTT                                        |
- **Показать игнорируемые**    | Показать ноды, которые ты раньше скрывал или заглушал                                        |
-
-### Параметры сортировки
-
- Сортировка                                                | Описание                                                              |
- --------------------------------------------------------- | --------------------------------------------------------------------- |
- **Последнее слышанное** (по умолчанию) | Сначала недавно слышимые ноды                                         |
- **По алфавиту**                                           | Сортировать по полному имени ноды                                     |
- **Расстояние**                                            | Сначала ближайшие ноды (требуется обмен позициями) |
- **Меньше хопов**                                          | Сначала с наименьшим количеством ретрансляций                         |
- **Канал**                                                 | Группировать по индексу канала                                        |
- **Через MQTT**                                            | Сгруппировать по MQTT и радиоприему                                   |
- **Избранное**                                             | Сначала избранные ноды                                                |
-
-## Нод на хоп
-
-Нажми на значок гистограммы хопов в панели приложений списка нод, чтобы открыть столбчатую диаграмму того, сколько нод находится на каждом расстоянии хопа (0 = напрямую, 1 = через один ретранслятор и так далее). Отфильтруй график по окну **последнего услышанного** — за всё время, 1 час, 8 часов или 24 часа — чтобы посмотреть, как сейчас выглядит сеть по сравнению с более длительным периодом. Это быстрый способ понять, насколько занята и разветвлена твоя местная сеть.
-
-## Детали ноды
-
-Нажатие на ноду открывает подробный вид с полной информацией. Смотри [Метрики ноды](node-metrics) для полной информации о метриках и телеметрии.
-
-![Просмотр деталей ноды](../../assets/screenshots/nodes_node_list.png)
-
-Экран с деталями включает информацию об устройстве, его местоположение и кнопки действий:
-
-![Раздел деталей ноды](../../assets/screenshots/nodes_detail_section.png)
-
-Встроенные индикаторы статуса показывают ключевые показатели с первого взгляда:
-
- Индикатор              | Снимок экрана                                                   |
- ---------------------- | --------------------------------------------------------------- |
- Качество сигнала       | ![Сигнал](../../assets/screenshots/nodes_signal_info.png)       |
- Уровень заряда батареи | ![Батарея](../../assets/screenshots/nodes_battery_info.png)     |
- Количество хопов       | ![Хопы](../../assets/screenshots/nodes_hops_info.png)           |
- Последний раз слышен   | ![Last heard](../../assets/screenshots/nodes_last_heard.png)    |
- Расстояние             | ![Расстояние](../../assets/screenshots/nodes_distance_info.png) |
-
-### Ссылки на устройства ("Хочу такое")
-
-Когда оборудование ноды распознано, в детальном просмотре появляется сворачиваемый раздел **"Хочу такой"**, содержащий ссылки на места, где можно купить или узнать больше об этом устройстве: страницу продукта у производителя, варианты продукта и объявления на региональных торговых площадках (например, AliExpress, Amazon и у поддерживаемых продавцов), отфильтрованные по твоей стране. Каждая ссылка открывается через сервис перенаправления `msh.to`. Устройства без подходящих ссылок не показывают этот раздел.
-
-Полный, просматриваемый каталог всех ссылок также доступен в **Настройки → Справка и документация → Ссылки на устройства**.
-
-## Связанные темы
-
-- [Метрики ноды](node-metrics) — подробные телеметрические панели для каждой ноды
-- [Сообщения и каналы](messages-and-channels) — отправь личное сообщение ноде
-- [Карта и путевые точки](map-and-waypoints) — просмот позиции нод на карте
-- [Обнаружение](discovery) — трассировка и информация о соседях для изучения топологии
-- [Индикатор сигнала](signal-meter) — пойми, что означают полоски сигнала
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/onboarding.html b/v2.8.0/docs/ru-rRU/user/onboarding.html deleted file mode 100644 index a27e2bd72f..0000000000 --- a/v2.8.0/docs/ru-rRU/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Начало работы - - - -
# Начало работы
-
-Добро пожаловать в Meshtastic! Это руководство проведет тебя через начальную настройку приложения Meshtastic для Android.
-
-## Первый запуск
-
-Когда ты запускаешь приложение впервые, то будет предложено пройти через начальный процесс, который поможет настроить основные разрешения и параметры. Каждый шаг нужно выполнить по порядку, или же можешь пропустить его и настроить разрешения позже в настройках Android.
-
-### Экран приветствия
-
-Экран приветствия представляет Meshtastic и его основные возможности:
-
-- Автономная mesh-связь
-- Не требуется мобильная связь или интернет
-- Сквозное шифрование сообщений
-
-Нажми **Начать** для перехода к настройке.
-
-![Экран приветствия](../../assets/screenshots/onboarding_welcome.png)
-
-## Разрешения
-
-Приложение запрашивает несколько разрешений во время настройки. Каждое из них служит определенной цели, и некоторые необходимы для основной функциональности.
-
-### Разрешения Bluetooth
-
-Bluetooth является основным методом соединения между телефоном и радиостанцией Meshtastic:
-
-- **Сканирование Bluetooth** — обнаружение ближайших радиостанций Meshtastic
-- **Подключение по Bluetooth** — установка и поддержание соединения с сопряжёнными радиоустройствами
-
-Предоставь оба разрешения при запросе. Без Bluetooth тебе придется использовать USB или TCP соединения.
-
-### Разрешение на доступ к местоположению
-
-> ⚠️ **Почему для Bluetooth требуется местоположение?** Android требует разрешение на определение местоположения для обнаружения устройств Bluetooth Low Energy поблизости. Это требование системы Android, а не специфический выбор Meshtastic.
-
-Meshtastic также использует местоположение для:
-
-- Показ вашего положения на карте
-- Вычисление расстояний до других нод
-- Обмен GPS-координатами с другими участниками сети (если включено)
-
-Предоставь доступ **"При использовании приложения"** или **"Всегда"** в зависимости от своих предпочтений:
-
-- **При использовании приложения** — обновление местоположения происходит только когда приложение открыто
-- **Всегда** — включает обновления позиции в фоновом режиме для активного присутствия в сети
-
-Если доступ будет запрещен, сканирование Bluetooth не будет работать, и нода не будет сообщать о положении.
-
-### Разрешение на уведомления
-
-Уведомления оповещают тебя о:
-
-- Входящие сообщения из каналов и личных сообщений
-- Новые ноды, присоединившиеся к сети
-- Низкий заряд на удаленной ноде
-
-> 💡 **Совет:** Ты можешь тонко настроить уведомления позже в настройках системы — приложение создает отдельный канал уведомлений по категориям (плюс несколько внутренних, как фоновая служба), поэтому ты можешь включить или заглушить их по отдельности.
-
-### Разрешение на критические уведомления
-
-На поддерживаемых устройствах приложение может запрашивать разрешение на критические уведомления:
-
-- Это уведомления высокого приоритета, которые могут прерывать режим "Не беспокоить"
-- Полезно для экстренных уведомлений в mesh-сети или срочных сообщений
-- Вы можете **пропустить** этот шаг, если не нужны уведомления о прорывах
-- Настроить или отменить можно позже в настройках уведомлений Android
-
-## После настройки
-
-Как только разрешения предоставлены, приложение переходит к основному интерфейсу. Ваше первое действие должно заключаться в подключении к радиостанции Meshtastic — см. [Подключения](connections) для подробных инструкций.
-
-> 💡 **Совет:** Если ты пропустил какие-либо разрешения во время настройки, то можешь выдать их позже через **Настройки Android → Приложения → Meshtastic → Разрешения**. Приложение снова запросит у тебя разрешение, если отсутствующее разрешение блокирует функцию, которую ты пытаешься использовать.
-
-## Что дальше?
-
-После подключения к радиостанции, исследуй:
-
-- [Подключения](connections) — соедини своё первое радиоустройство
-- [Сообщения и каналы](messages-and-channels) — отправь  своё первое сообщение
-- [Ноды](nodes) — посмотри, кто есть в сети
-- [Карта и контрольные точки](map-and-waypoints) — просмотр позиций нод
-- [Настройки](settings-radio-user) — настрой своё устройство и профиль пользователя
-
-Новичок в Meshtastic? Руководство [по началу работы](https://meshtastic.org/docs/getting-started) на meshtastic.org охватывает выбор оборудования, начальную настройку радиостанции и первую установку сети.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/settings-module-admin.html b/v2.8.0/docs/ru-rRU/user/settings-module-admin.html deleted file mode 100644 index 6bac13ea49..0000000000 --- a/v2.8.0/docs/ru-rRU/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Настройки — Модули и администрирование - - - -
# Настройки — Модули и администрирование
-
-Настрой дополнительные функциональные модули и выполняй управление устройством. Модули расширяют Meshtastic с помощью специализированных возможностей — каждый из них можно включать или отключать отдельно.
-
-> 💡 **Совет:** Тебе нужно включать только те модули, которые действительно используешь. Отключение неиспользуемых модулей снижает время передачи, экономит батарею и упрощает конфигурацию.
-
-Настройки модулей используют макет на основе карточек с переключателями, выпадающими списками, текстовыми полями и ползунками:
-
-![Переключатель](../../assets/screenshots/settings_switch.png)
-
-![Выпадающий список](../../assets/screenshots/settings_dropdown.png)
-
-![Текстовое поле](../../assets/screenshots/settings_text_field.png)
-
-![Настройки расположения карточек](../../assets/screenshots/settings_titled_card.png)
-
-## Конфигурация модуля
-
-### Модуль MQTT
-
-Мосты передают сообщения туда и обратно от брокера MQTT для подключения к интернету. Ты так расширишь сеть за пределы радиуса действия или интегрируешь её с системами домашней автоматизации.
-
- Настройка        | Описание                                                                |
- ---------------- | ----------------------------------------------------------------------- |
- Включено         | Переключить MQTT мост                                                   |
- Сервер           | Адрес MQTT брокера                                                      |
- Имя пользователя | Имя пользователя для аутентификации                                     |
- Пароль           | Пароль аутентификации                                                   |
- Шифрование       | Зашифровать MQTT-пейлоады                                               |
- ~~Вывод JSON~~   | ⚠️ **Устарело** — поддержка JSON удалена из прошивки; поле игнорируется |
- TLS              | Использовать защищённое соединение                                      |
- Корневая тема    | Базовый путь темы MQTT                                                  |
- Отчет карты      | Опубликовать позицию на публичной карте                                 |
-
-См. [MQTT](mqtt) для подробного руководства по использованию, включая шифрование, конфиденциальность и настройку брокера.
-
-### Последовательный модуль
-
-Позволяет общаться через последовательный порт с внешними устройствами (GPS-модулями, датчиками или собственной техникой). Когда включено, последовательный порт ноды может отправлять и получать данные в формате protobuf или текст, что позволяет внешним микроконтроллерам или компьютерам взаимодействовать с сетью.
-
- Настройка                                  | Описание                                     |
- ------------------------------------------ | -------------------------------------------- |
- Включено                                   | Включить последовательное соединение         |
- Эхо                                        | Echo получил обратно последовательные данные |
- Режим обмена                               | Вывод в формате текста, Protobuf или NMEA    |
- Пины RX/TX                                 | GPIO-пины для последовательного соединения   |
- Скорость передачи (бод) | Скорость последовательного соединения        |
-
-### Модуль внешних уведомлений
-
-Управляет зуммером, светодиодом или вибрацией на вашем радиооборудовании. Полезно для устройств, которым нужно физически сигнализировать о приходе сообщения — особенно удобно для неоснащенных персоналом или уличных установок.
-
- Настройка                                 | Описание                            |
- ----------------------------------------- | ----------------------------------- |
- Включено                                  | Включить уведомления                |
- Включить уведомление о входящем сообщении | Уведомлять о входящих сообщениях    |
- Зуммер при уведомлении                    | Использовать буззер для сообщений   |
- Alert Message Vibra                       | Использовать вибрацию для сообщений |
- Уведомлять при 🔔                         | Notify on bell character            |
- Вывод (GPIO)           | Пин для вывода уведомления          |
- Активный выход                            | High or Low active                  |
- Длительность (мс)      | Длительность уведомления            |
- Использовать I2S как буззер               | Использовать аудиовывод I2S         |
-
-### Модуль Store & Forward
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Настройка                                  | Описание                                                                                                                                         |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Включено                                   | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Записи                                     | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Сервер                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Настройка                              | Описание                          |
- -------------------------------------- | --------------------------------- |
- Включено                               | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Настройка                    | Описание                                |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Телеметрия воздуха           | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Настройка          | Описание                                                                 |
- ------------------ | ------------------------------------------------------------------------ |
- ~~Включено~~       | ⚠️ **Устарело** — текущая прошивка может игнорировать этот переключатель |
- Сообщения          | Список сообщений, разделённых новой строкой                              |
- Отправлять 🔔      | Play bell sound on send                                                  |
- Rotary Encoder     | Enable rotary encoder input                                              |
- Up/Down/Press Pins | GPIO pin assignments for input                                           |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Настройка       | Описание                         |
- --------------- | -------------------------------- |
- Включено        | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Настройка            | Описание                                                        |
- -------------------- | --------------------------------------------------------------- |
- Включено             | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Настройка                              | Описание                                                                                                                             |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Включено                               | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Настройка            | Описание                                                   |
- -------------------- | ---------------------------------------------------------- |
- Состояние светодиода | Turn the LED on or off                                     |
- Ток                  | LED current limit (0–31)                |
- Red / Green / Blue   | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Настройка                                | Описание                                                                                                                                |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Включено                                 | Activate detection sensor                                                                                                               |
- Пин датчика                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Отправлять 🔔                            | Include bell character in alerts                                                                                                        |
- Имя датчика                              | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Настройка                              | Описание                   |
- -------------------------------------- | -------------------------- |
- Включено                               | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Администрирование
-
-### Удаленное администрирование
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Очистить базу данных нод
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Перезагрузка
-
-Remotely reboot a connected or administered node.
-
-### Панель отладки
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/settings-radio-user.html b/v2.8.0/docs/ru-rRU/user/settings-radio-user.html deleted file mode 100644 index 92c9c1ff0a..0000000000 --- a/v2.8.0/docs/ru-rRU/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Настройки - Радио и пользователь - - - -
# Настройки - Радио и пользователь
-
-Настройте радиоустройство и параметры идентификации пользователя.
-
-## Настройки пользователя
-
-### Профиль пользователя
-
- Настройка                | Описание                                                                                                            |
- ------------------------ | ------------------------------------------------------------------------------------------------------------------- |
- Полное имя               | Ваше отображаемое имя (до 39 символов)                                                           |
- Короткое имя             | 4-символьное сокращённое имя                                                                                        |
- Лицензированный оператор | Включите, если у вас есть лицензия радиолюбителя (позволяет использовать более высокую мощность) |
-
-### Применение изменений
-
-После изменения настроек нажмите **Сохранить** чтобы записать конфигурацию в ваше радиоустройство. Устройство может перезагрузиться для применения изменений.
-
-## Настройки
-
-### Настройки устройства
-
- Настройка                | Описание                                                                                  | По умолчанию |
- ------------------------ | ----------------------------------------------------------------------------------------- | ------------ |
- Роль                     | Поведение ноды (Client, Router и т.д.) | Client       |
- Режим ретрансляции       | Как нода повторно передает сообщения                                                      | Всё          |
- Передача информации ноды | Интервал для передачи информации ноды                                                     | 10800        |
- Двойное нажатие кнопки   | Действие при двойном нажатии кнопки                                                       | Включено     |
-
-### Настройка LoRa
-
- Настройка                 | Описание                                                                            | По умолчанию                                             |
- ------------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------- |
- Регион / Страна           | Область регулирования для диапазонов частот                                         | Не установлено (необходимо настроить) |
- Режим работы модема       | Компромисс между скоростью и дальностью                                             | LongFast                                                 |
- Лимит хопов               | Максимальное количество ретрансляций                                                | 3                                                        |
- Мощность передачи         | Мощность передачи (дБм); 0 = максимально разрешённая для региона | 0 (максимум региона)                  |
- Частотное смещение        | Точная настройка частоты (МГц)                                   | 0                                                        |
- Полоса пропускания канала | Настройка пропускной способности                                                    | По умолчанию для предустановки                           |
-
-> ⚠️ **Важно:** Вы **обязаны** установить свой регион перед отправкой. Работа без правильного региона может нарушать местные правила радиопользования. Смотрите [руководство по настройке региона](https://meshtastic.org/docs/getting-started/initial-config) на сайте meshtastic.org для получения подробной информации.
-
-### Предустановки модема
-
-> 💡 **Совет:** Значения **порога SNR** специально отрицательные. LoRa может декодировать сигналы _ниже_ уровня шума, поэтому более отрицательный предел означает, что пресет допускает более слабый, шумный сигнал (больший радиус действия). Смотрите [Как работает измеритель сигнала](signal-meter) для полного объяснения.
-
- Предустановка      | Диапазон                | Скорость                  | Предел SNR               | Лучше всего для                                                                                                   |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 км   | 21.9 кб/с | −7.5 дБ  | Плотная городская застройка с прямой видимостью; приложения, требующие высокой передачи данных                    |
- Short Fast         | ~3 км   | 10.9 кб/с | −7.5 дБ  | Городские районы; здания в пределах нескольких кварталов                                                          |
- Short Slow         | ~5 км   | 5.5 кб/с  | -10 дБ                   | Пригородная зона с коротким диапазоном; умеренная плотность застройки                                             |
- Medium Fast        | ~5 км   | 5.5 кб/с  | −12.5 дБ | Пригородные районы; умеренная плотность застройки                                                                 |
- Medium Slow        | ~8 км   | 1.1 кб/с  | -15 дБ                   | Пригородный/сельский; умеренный диапазон со сниженной скоростью                                                   |
- Long Turbo         | ~10 км  | 4.4 кб/с  | −12.5 дБ | Диапазон, похожий на Long Fast, но с полосой пропускания 500 кГц; более высокая пропускная способность            |
- Long Fast          | ~10 км  | 1.1 кб/с  | −17.5 дБ | **Общее использование (по умолчанию)** — сбалансированный диапазон и скорость                  |
- Long Moderate      | ~20 км  | 0.34 кб/с | −17.5 дБ | Сельская местность с некоторым рельефом; случайное использование                                                  |
- Lite Fast          | ~5 км   | 5.5 кб/с  | −12.5 дБ | Диапазон RU 866 МГц SRD (ширина полосы 125 кГц); аналогично Medium Fast                        |
- Lite Slow          | ~10 км  | 1.1 кб/с  | -15 дБ                   | Диапазон RU 866 МГц SRD (ширина полосы 125 кГц); аналогично Long Fast                          |
- Narrow Fast        | ~5 км   | 2.7 кб/с  | -10 дБ                   | Диапазон RU 868 МГц (полоса пропускания 62,5 кГц); предотвращает помехи с другими устройствами |
- Narrow Slow        | ~10 км  | 1.1 кб/с  | −12.5 дБ | Диапазон RU 868 МГц (ширина полосы 62,5 кГц); аналогично Long Fast                             |
- ~~Long Slow~~      | ~30 км  | 0.18 кб/с | −20 дБ                   | ⚠️ **Устарел** — всё ещё доступен для выбора, но может быть удален в будущих версиях прошивки                     |
- ~~Very Long Slow~~ | ~40+ км | 0.09 кб/с | −20 дБ                   | ⚠️ **Устарел** — всё ещё доступен для выбора, но может быть удален в будущих версиях прошивки                     |
-
-> i **Примечание:** В этой таблице используются общие короткие имена. В выпадающем меню пресетов приложения они читаются как **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast** и так далее.
-
-#### Выбор предустановки модема
-
-Предустановка модема управляет основным компромиссом между **дальностью** и **скоростью передачи данных**:
-
-- **Медленные предустановки** используют большее распространение, что позволяет декодировать сигналы при более слабых уровнях сигнала (ниже порога SNR). Это означает большую дальность, но меньше байт в секунду.
-- **Быстрые предустановки** передают больше данных за одну передачу, но требуют более сильного сигнала для декодирования.
-
-**Практическое руководство:**
-
-- **Городская сеть (много нод, короткие расстояния):** Используй **Long Fast** (по умолчанию) или **Short Fast**. Более высокая скорость означает меньшее переполнение канала эфирного времени, когда многие ноды используют канал.
-- **Сельская/разреженная сеть (мало нод, большие расстояния):** Используй **Long Moderate**. Дальность важнее скорости, когда ноды находятся далеко друг от друга.
-- **Соответствие нормативным требованиям RU 866/868 МГц:** Используй **Lite Fast**, **Lite Slow**, **Narrow Fast** или **Narrow Slow** — они оптимизированы для диапазонов RU SRD/868 МГц с более узкой полосой пропускания.
-- **Фиксированные инфраструктурные связи:** Используй **Short Turbo** или **Long Turbo** для выделенных соединений точка-точка с хорошими антеннами и прямой видимостью.
-- **Смешанные среды:** Используй **Long Fast** — это настройка по умолчанию в сообществе и она обеспечит совместимость с другими в вашем регионе.
-
-> ⚠️ **Важно:** Все ноды в одном канале **должны** использовать один и тот же пресет модема. Ноды с несовпадающими предустановками не смогут обмениваться данными, даже если они используют одну частоту и ключ шифрования.
-
-> 💡 **Совет:** Указанные выше оценки дальности предполагают ровную местность и небольшие антенны. Преимущество высоты (вершина холма, крыша) значительно увеличивает эффективную дальность. Хорошо размещённый маршрутизатор с Long Fast часто может превзойти наземную ноду с Long Slow.
-
-### Параметры дисплея
-
- Настройка          | Описание                                                                              |
- ------------------ | ------------------------------------------------------------------------------------- |
- Время ожидания     | Время до перехода в спящий режим                                                      |
- Единицы измерения  | Метрическая или имперская                                                             |
- Тип OLED-дисплея   | Авто, SSD1306, SH1106, SH1107                                                         |
- Ориентация компаса | Смещение вращения для отображения компаса (0°, 90°, 180°, 270°)    |
- ~~Север компаса~~  | ⚠️ **Устарело** — заменено на ориентацию компаса; по-прежнему видно в старой прошивке |
-
-### Настройки местоположения
-
- Настройка               | Описание                                |
- ----------------------- | --------------------------------------- |
- GPS включен             | Включение/отключение GPS                |
- Интервал обновления GPS | Как часто получать GPS-фиксацию         |
- Вещание позиции         | Как часто делиться местоположением      |
- Умная позиция           | Включить трансляцию при движении        |
- Фиксированная позиция   | Использовать вручную заданное положение |
-
-### Настройка питания
-
- Настройка               | Описание                                          |
- ----------------------- | ------------------------------------------------- |
- Энергосбережение        | Включить спящий режим с низким энергопотреблением |
- Завершение работы через | Таймер автоотключения при простое                 |
- Множитель ADC           | Коэффициент калибровки напряжения батареи         |
- Ожидание Bluetooth      | Время ожидания подключения BLE при загрузке       |
- Тайм-аут Mesh SDS       | Тайм-аут сверхглубокого сна                       |
-
-### Настройка сети
-
- Настройка     | Описание                                                        |
- ------------- | --------------------------------------------------------------- |
- WiFi включен  | Включить радиомодуль WiFi (устройства ESP32) |
- WiFi SSID     | Имя сети для подключения                                        |
- WiFi PSK      | Пароль сети                                                     |
- NTP-сервер    | Сервер синхронизации времени                                    |
- Syslog-сервер | Удалённый сервер логирования                                    |
-
-![Поле IP-адреса](../../assets/screenshots/settings_ipv4_field.png)
-
-### Настройка Bluetooth
-
- Настройка             | Описание                                                                         |
- --------------------- | -------------------------------------------------------------------------------- |
- Bluetooth включен     | Включение/отключение BLE радиостанции                                            |
- Режим сопряжения      | Фиксированный PIN, случайный PIN или без PIN                                     |
- Фиксированный PIN-код | PIN-код для сопряжения (по умолчанию: 123456) |
-
-### Настройки безопасности
-
- Настройка                        | Описание                                                                                                                                                                                                                          |
- -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Публичный ключ                   | Публичный ключ твоей ноды (только для чтения)                                                                                                                                                                  |
- Ключ администратора              | Ключ для удалённого администрирования                                                                                                                                                                                             |
- Приватный ключ                   | Приватный ключ твоей ноды (обращайся с ним осторожно)                                                                                                                                                          |
- ~~Канал администратора включен~~ | ⚠️ Удалено — теперь настраивается автоматически при установке ключа администратора                                                                                                                                                |
- Журнал отладки                   | Выводить живой отладочный лог через последовательный порт/Bluetooth                                                                                                                                                               |
- Последовательная включена        | Включить доступ к последовательной консоли (перемещено из настроек устройства)                                                                                                                                 |
- Управляемый режим                | Ограничить изменения канала для неадминистраторов                                                                                                                                                                                 |
- Резервное копирование            | Сохранить зашифрованную резервную копию ключей ноды на этом устройстве (только для Android)                                                                                                                    |
- Восстановить ключи               | Запишисать сохранённые ключи обратно на ноду (доступно, как только есть резервная копия)                                                                                                                       |
- Удалить резервную копию ключа    | Удалить сохранённую резервную копию ключа с этого устройства                                                                                                                                                                      |
- Уровень защиты                   | Подлинность пакета — как обрабатываются неподписанные или пересылаемые пакеты: **Строго**, **Сбалансировано** или **Совместимо** (требуется поддержка прошивкой; Строго требует подтверждения) |
-
-![Поле пароля](../../assets/screenshots/settings_password_field.png)
-
-Настройки используют стандартные элементы управления предпочтениями — выпадающие списки, переключатели и ползунки:
-
- Управление        | Снимок экрана                                                        |
- ----------------- | -------------------------------------------------------------------- |
- Выпадающий список | ![Выпадающий список](../../assets/screenshots/settings_dropdown.png) |
- Переключатель     | ![Переключатель](../../assets/screenshots/settings_switch.png)       |
- Ползунок          | ![Ползунок](../../assets/screenshots/settings_slider.png)            |
-
-## Связанные темы
-
-- [Настройки — Модули и администрирование](settings-module-admin) — дополнительные модули и управление устройством
-- [Измеритель сигнала](signal-meter) — как предустановки модема влияют на пороги качества сигнала
-- [Конфигурация LoRa](https://meshtastic.org/docs/configuration/radio/lora) — подробная справка по настройкам LoRa на meshtastic.org
-- [Начальная конфигурация](https://meshtastic.org/docs/getting-started/initial-config) — руководство по настройке региона на meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/signal-meter.html b/v2.8.0/docs/ru-rRU/user/signal-meter.html deleted file mode 100644 index b5bb27522e..0000000000 --- a/v2.8.0/docs/ru-rRU/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Как работает измеритель сигнала Meshtastic - - - -
# Как работает измеритель сигнала Meshtastic
-
-Измеритель сигнала Meshtastic — знакомые полоски или цвет состояния в приложении — рассчитывается совсем иначе, чем "полоски" на обычном мобильном телефоне или WiFi-роутере.
-
-Большинство потребительских устройств просто измеряют, насколько "громкий" сигнал. Однако, поскольку Meshtastic использует технологию **LoRa (Long Range)**, его измеритель сигнала оценивает, насколько **чистый** сигнал, относительно конкретных настроек вашей mesh-сети.
-
-## 2. Магия LoRa: слышит "ниже уровня шума"
-
-Для обычных радиоприёмников (например, FM или WiFi), если фоновый шум громче сигнала (отрицательный SNR), приёмник просто слышит шум.
-
-LoRa особенная. Она использует модуляцию **"широкополосного спектра"**, которая позволяет радио математически извлекать сигнал из воздуха даже когда он глубоко _под_ фоновым шумом. Вот почему ты часто будете видеть **отрицательные значения SNR** в Meshtastic (например, -10 дБ, что означает, что сигнал на 10 децибел слабее фонового шума).
-
-В зависимости от того, какой пресет Meshtastic ты используешь (например, `LongFast` или `ShortFast`), у радиоприемника есть определённый **предел SNR** — абсолютное максимальное количество шума, которое он может выдержать, прежде чем сообщение полностью потеряется в помехах.
-
--------- | ------- | ----------------------------------- | --------------------------------------------------------------------------- |
- Хороший     | 3       | SNR **выше** установленного `limit` | Сигнал с запасом выше порога демодуляции — связь в порядке. |
- Средний     | 2       | меньше чем на `5,5 дБ` ниже `limit` | Понятно, но уже почти до пола.                              |
- Плохой      | 1       | `5,5 дБ` до `7,5 дБ` ниже `limit`   | На самом пределе того, что может восстановить пресет.       |
- Отсутствует | 0       | более чем на `7,5 дБ` ниже `limit`  | Ниже порога — сигнал потерян из-за помех.                   |
-
-> **Примечание:** Фиксированные пороги SNR, которые вы могли видеть где-то ещё (`-7 дБ` / `-15 дБ`), теперь используются только для окрашивания отдельных хопов в результатах трассировки — а не для измерителя сигнала на каждой ноде, о которой идёт речь здесь.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/tak.html b/v2.8.0/docs/ru-rRU/user/tak.html deleted file mode 100644 index f3a5d8a37b..0000000000 --- a/v2.8.0/docs/ru-rRU/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - Интеграция TAK - - - -
# Интеграция TAK
-
-Meshtastic интегрируется с экосистемой Team Awareness Kit (TAK), обеспечивая взаимодействие между устройствами mesh-сети Meshtastic и приложениями TAK, такими как ATAK и WinTAK.
-
-## Обзор
-
-Модуль TAK позволяет нодам Meshtastic:
-
-- Делиться данными о местоположении в формате CoT (Cursor on Target), совместимом с TAK
-- Отображаться как члены команды на картах TAK
-- Получать сообщения PLI (информация о местоположении) TAK
-
-## Настройка
-
-### Необходимые условия
-
-- Установлен ATAK (Android Team Awareness Kit) или WinTAK
-- Установлен Meshtastic ATAK Plugin
-- Модуль TAK включён на вашем радио Meshtastic
-
-### Настройки
-
-1. Перейдите в **Настройки → Конфигурация модулей → TAK**.
-2. Включите модуль TAK.
-3. Настройте параметры команды/группы TAK:
-
-![Переключатель модуля](../../assets/screenshots/settings_switch.png)
-
- Настройка    | Описание                          |
- ------------ | --------------------------------- |
- Включено     | Активировано взаимодействие с TAK |
- Режим обмена | Режим вывода, совместимый с TAK   |
-
-### Настройка плагина ATAK
-
-1. Установите Meshtastic ATAK Plugin из репозитория плагинов.
-2. Откройте ATAK и включите плагин Meshtastic.
-3. Плагин соединяет сообщения между ATAK и твоей mesh-сетью.
-
-### Локальный TAK-сервер
-
-Приложение также может запускать **локальный TAK-сервер**, чтобы ATAK/iTAK на **том же устройстве** могли подключаться напрямую, без удалённого TAK-сервера. Сервер привязывается только к локальному хосту (`127.0.0.1:8089`) и использует TLS с взаимной аутентификацией по сертификатам (mTLS), поэтому он недоступен с других устройств в сети. Откройте **Настройки → Конфигурация модулей → TAK → TAK-сервер**:
-
-![Настройки локального TAK-сервера с переключателем включения и опцией экспорта](../../assets/screenshots/tak_server_enabled.png)
-
-- **Включить локальный TAK-сервер** — запускает mTLS-сервер только на локальную петлю на порту **8089** для подключений ATAK/iTAK с того же устройства.
-- **Экспорт пакета данных TAK** — создаёт пакет данных `.zip`, который ATAK/iTAK может импортировать для подключения к этому серверу.
-
-## Роли TAK
-
-Ноды, настроенные с ролями, связанными с TAK, ведут себя иначе, чем стандартные клиенты:
-
- Роль            | Описание                                                                                                                                                                                                                                                                                                                                  |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Полная совместимость с TAK — отправляет и принимает данные CoT, сообщения чата и обновления PLI. Выполняет функции стандартного клиента и TAK-моста.                                                                                                                                                      |
- **TAK Tracker** | Вывод только координат в формате TAK — автоматически передаёт PLI через равные промежутки времени без участия пользователя. Оптимизирован для автономных маячков местоположения (транспортные средства, оборудование, путевые точки). Не ретранслирует сообщения чата. |
-
-> 💡 **Совет:** Используйте **TAK Tracker** для устройств, которым требуется только передавать координаты (например, радио, установленное в автомобиле). Используйте **TAK** для устройств, где пользователи активно участвуют в операциях TAK.
-
-### Формат CoT (Cursor on Target)
-
-Сообщения TAK используют формат XML Cursor on Target — военный стандарт для обмена данными о ситуационной осведомлённости. Meshtastic преобразует свои внутренние сообщения protobuf в формат CoT при соединении с системами TAK, поэтому ручное преобразование формата не требуется.
-
-## Идентификация в TAK
-
-При использовании ролей TAK твоя нода передаёт идентификационную информацию, которая отображается на картах TAK:
-
- Настройка      | Описание                                                                                                                  |
- -------------- | ------------------------------------------------------------------------------------------------------------------------- |
- Цвет команды   | Цвет твоей команды на карте TAK (например, Синий, Красный, Голубой, Зелёный)                           |
- Роль участника | Твоя оперативная роль (Team Member, Team Lead, HQ, Medic, RTO и т. д.) |
-
-Эти настройки появляются в **Настройки → Конфигурация модулей → TAK**, когда модуль TAK включён. Твой позывной в TAK не задаётся отдельно — он автоматически берётся из имени твоей ноды Meshtastic.
-
-> 💡 **Совет:** Цвета команд/ролей являются стандартными цветами принадлежности в TAK. Согласуй с твоей командой TAK использование единообразных назначений команд.
-
-## Формат передачи (V1 / V2)
-
-Meshtastic поддерживает два формата передачи данных TAK, которые выбираются автоматически в зависимости от прошивки подключённого радио — ручная настройка не требуется:
-
- Формат                             | Совместимость                                           | Особенности                                                                                                                                                                                                                                    |
- ---------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- V1 (Устаревший) | Прошивка 2.7.x и старше | Простое кодирование protobuf на порт 72. Поддерживает только передачу местоположения (PLI) и чат (GeoChat) — фигуры, маркеры, маршруты и другие типизированные события CoT отбрасываются |
- V2 (Текущий)    | Прошивка 2.8.0 и новее  | Компактное кодирование со сжатием zstd на порт 78. Добавляет типы CoT: фигуры, маркеры, маршруты, воздушные суда, эвакуацию, чрезвычайные ситуации и задачи — в дополнение ко всему, что поддерживает V1       |
-
-Нода продолжает ретранслировать устаревшие пакеты V1 от старых нод, даже если сама работает на V2, поэтому смешанные по прошивке mesh-сети продолжают функционировать.
-
-## Использование с ATAK
-
-После настройки:
-
-- Ноды Meshtastic отображаются как маркеры на карте ATAK с подписями позывных
-- Сообщения чата могут передаваться между mesh-сетью и сетями TAK
-- Обновления местоположения передаются двунаправленно между Meshtastic и TAK
-- Ноды TAK Tracker автоматически передают PLI — их координаты отображаются на картах ATAK без какой-либо настройки на стороне ATAK
-
-> ⚠️ **Примечание:** Для интеграции с TAK требуются определённые роли нод и настройка модуля. Стандартные клиентские ноды не участвуют в операциях TAK автоматически.
-
-## Устранение неполадок
-
- Проблема                                   | Причина                                                                                                                   | Решение                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
- Нода не отображается на карте ATAK         | Модуль TAK отключён или выбрана неверная роль                                                                             | Убедитесь, что модуль TAK включён, а роль ноды — TAK или TAK Tracker                                                |
- Данные о местоположении устарели           | Потерян сигнал GPS или слишком большой интервал                                                                           | Проверьте состояние GPS; уменьшите интервал передачи координат в настройках Position Config                         |
- Плагин ATAK показывает "не подключён"      | Потеряно соединение BLE или произошёл сбой плагина                                                                        | Переподключите Bluetooth в приложении Meshtastic, затем перезапустите плагин ATAK                                   |
- Фигуры, маркеры или маршруты не передаются | Отправляющая нода использует устаревший V1 (прошивка 2.7.x или старше) | Обновите прошивку отправляющей ноды до 2.8.0+ для использования формата передачи V2 |
- Данные CoT не передаются                   | Несовпадение каналов                                                                                                      | Все ноды TAK должны находиться на одном канале с одинаковым шифрованием                                             |
-
-## Соображения безопасности
-
-- Данные TAK передают ваше местоположение и позывной
-- Убедись, что шифрование канала настроено при использовании TAK в чувствительных средах
-- Модуль TAK соблюдает то же шифрование канала, что и другие сообщения Meshtastic
-
-## Связанные темы
-
-- [Настройки — Модули и администрирование](settings-module-admin) — конфигурация модуля TAK
-- [Ноды](nodes) — роли TAK и TAK Tracker в списке нод
-- [Карта и путевые точки](map-and-waypoints) — расположение нод на карте
-- [Руководство по плагину ATAK](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — подробная настройка ATAK на meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/telemetry-and-sensors.html b/v2.8.0/docs/ru-rRU/user/telemetry-and-sensors.html deleted file mode 100644 index 6e68b3801e..0000000000 --- a/v2.8.0/docs/ru-rRU/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Телеметрия и датчики - - - -
# Телеметрия и датчики
-
-Ноды Meshtastic могут собирать и передавать данные датчиков по всей mesh-сети.
-
-## Обзор
-
-Телеметрия позволяет нодам, оснащённым датчиками, передавать информацию об окружающей среде, питании и состоянии устройства. Эти данные отображаются на экране сведений о ноде и могут регистрироваться с течением времени.
-
-## Телеметрия устройства
-
-Все ноды Meshtastic передают базовую телеметрию устройства:
-
- Метрика                                     | Описание                                       | Типичный диапазон                                                  |
- ------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------ |
- Уровень заряда                              | Процент заряда                                 | 0–100%                                                             |
- Напряжение                                  | Напряжение батареи                             | 3.0–4.2V (LiPo) |
- Использование канала                        | % использованного локально эфирного времени    | 0–100%                                                             |
- Использование эфира (TX) | % эфирного времени, использованного этой нодой | 0–100%                                                             |
- Аптайм                                      | Секунд с последней загрузки                    | Варьируется                                                        |
-
-## Датчики окружающей среды
-
-Поддерживаемые датчики окружающей среды:
-
-### Температура и влажность
-
- Sensor  | Температура | Влажность | Давление | Заметки                          |
- ------- | ----------- | --------- | -------- | -------------------------------- |
- BME280  | ✓           | ✓         | ✓        | Рекомендуемый "всё в одном"      |
- BME680  | ✓           | ✓         | ✓        | Добавляет сопротивление газа/IAQ |
- SHT31   | ✓           | ✓         | —        | Высокая точность                 |
- MCP9808 | ✓           | —         | —        | Прецизионная температура         |
- LPS22   | —           | —         | ✓        | Только давление                  |
-
-### Качество воздуха
-
- Sensor   | Метрика                                            | Заметки                         |
- -------- | -------------------------------------------------- | ------------------------------- |
- BME680   | Сопротивление газа / IAQ                           | Летучие органические соединения |
- PMSA003I | PM1.0, PM2.5, PM10 | Взвешенные частицы              |
- SEN55    | PM, NOx, VOC, температура, влажность               | Мультисенсор                    |
-
-### Освещённость и УФ
-
- Sensor   | Метрика                                           |
- -------- | ------------------------------------------------- |
- OPT3001  | Окружающая освещённость (люкс) |
- VEML7700 | Окружающая освещённость (люкс) |
- LTR390   | УФ-индекс                                         |
-
-## Метрики питания
-
-Ноды с датчиками питания серии INA могут сообщать:
-
- Метрика         | Описание                                    |
- --------------- | ------------------------------------------- |
- Напряжение шины | Напряжение линии питания                    |
- Ток             | Потребляемый ток (мА)    |
- Питание         | Расчётная мощность (мВт) |
-
-Полезно для мониторинга солнечной зарядки или состояния батареи на удалённых нодах.
-
-## Настройка телеметрии
-
-1. Перейдите в **Настройки → Конфигурация модулей → Телеметрия**.
-2. Установите интервалы передачи:
-   - **Интервал метрик устройства** — как часто передавать метрики устройства
-   - **Интервал метрик окружающей среды** — как часто передавать данные датчиков
-3. Включайте нужные типы датчиков по необходимости.
-
-### Рекомендуемые интервалы
-
- Сценарий использования                             | Устройство (сек.) | Окружающая среда (сек.) |
- -------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------- |
- Городская mesh-сеть (много нод) | 3600                                                 | 3600                                                       |
- Сельская mesh-сеть (мало нод)   | 900                                                  | 900                                                        |
- Метеостанция                                       | 900                                                  | 300                                                        |
- Экономия заряда батареи                            | 7200                                                 | 7200                                                       |
-
-> ⚠️ **Примечание**: Более короткие интервалы увеличивают использование эфирного времени и расход батареи во всей mesh-сети.
-
-## Метрики качества воздуха
-
-Ноды с датчиками взвешенных частиц или CO₂ передают данные о качестве воздуха:
-
- Метрическая           | Единица | Описание                        |
- --------------------- | ------- | ------------------------------- |
- PM1.0 | мкг/м³  | Ультрамелкие взвешенные частицы |
- PM2.5 | мкг/м³  | Мелкие взвешенные частицы       |
- PM10                  | мкг/м³  | Крупные взвешенные частицы      |
- CO₂                   | ppm     | Концентрация углекислого газа   |
-
-Датчики CO₂, такие как SCD4x, также сообщают собственную температуру и влажность, которые отображаются вместе с указанными выше показаниями. На основе истории PM2.5 приложение дополнительно вычисляет значение **AQI EPA по методу NowCast**.
-
-Показания CO₂ окрашены по уровню опасности (Хорошо → Душно → Плохо → Опасно → Эвакуация). Точные диапазоны ppm, цвета и подробности AQI см. в разделе [Метрики нод — Качество воздуха](node-metrics#air-quality-metrics).
-
-Данные о качестве воздуха можно просматривать в виде информационных карточек на экране сведений о ноде, строить графики за период и экспортировать в CSV.
-
-## Просмотр телеметрии
-
-1. Перейдите в **Ноды** и выберите ноду.
-2. Разделы телеметрии отображаются на экране сведений:
-   - Метрики устройства (доступны всегда)
-   - Метрики окружающей среды (при наличии датчиков)
-   - Метрики питания (при наличии датчика INA)
-   - Метрики качества воздуха (при наличии датчика PM/CO₂)
-3. Исторические графики показывают тенденции с течением времени.
-
-![Действия с телеметрией](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Устранение неполадок
-
-- **Нет данных об окружающей среде?** К удалённой ноде должен быть физически подключён датчик (например, BME280 по I2C). Телеметрия устройства (заряд батареи, время работы) доступна всегда, но для метрик окружающей среды требуется оборудование.
-- **Показания устарели?** Проверьте интервал передачи — очень большие интервалы (7200 с и более) означают, что данные обновляются редко. Также убедитесь, что удалённая нода всё ещё в сети.
-- **Конфликт датчиков на шине I2C?** Некоторые датчики используют одинаковые адреса I2C. Если на одной шине несколько твоих датчиков, проверь последовательный отладочный вывод радио на предмет конфликтов адресов.
-
-## Связанные темы
-
-- [Метрики нод](node-metrics) — просмотр данных телеметрии на экране сведений о ноде
-- [Настройки — Модули и администрирование](settings-module-admin) — конфигурация модуля телеметрии
-- [Единицы измерения и регион](units-and-locale) — единицы отображения температуры и давления
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/translate.html b/v2.8.0/docs/ru-rRU/user/translate.html deleted file mode 100644 index 706ddd6c8b..0000000000 --- a/v2.8.0/docs/ru-rRU/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Перевод приложения - - - -
# Перевод приложения
-
-Внесение вклада в перевод помогает сделать Meshtastic доступным для более широкой аудитории. Приложение использует [Crowdin](https://crowdin.com/) для управления переводами сообщества как для пользовательского интерфейса, так и для документации в приложении.
-
------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
- Строки интерфейса                 | `core/resources/src/commonMain/composeResources/values/strings.xml` | Кнопки, ярлыки, сообщения и весь видимый пользователю текст              |
- Страницы руководства пользователя | `docs/en/user/*.md`                                                 | Встроенная документация, отображаемая в разделе «Справка и документация» |
- Метаданные Fastlane               | `fastlane/metadata/android/en-US/`                                  | Название, описание и журналы изменений в App Store                       |
-
-> ⚠️ **Примечание:** Страницы руководства для разработчиков только на английском. Документация, ориентированная на код и для участников, не переводится.
-
-## Добавление нового языка
-
-Если твоего языка еще нет в списке на Crowdin:
-
-1. Открой задачу на [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) для запроса нового языка.
-2. Поддерживающий добавит язык в Crowdin и настроит `crowdin.yml`.
-3. После добавления вы можете начать переводить сразу.
-
-## Руководство по переводу
-
-- **Не переводите** технические термины, такие как "LoRa", "MQTT", "BLE", "TAK", "SNR" или "RSSI" — они универсальны.
-- **Сохраняйте заполнители без изменений.** Строки, такие как `%1$s` или `%d`, заполняются во время выполнения. Не удаляйте и не меняйте их порядок, если только грамматика вашего языка не требует этого.
-- **Согласуйте тон.** Приложение использует дружелюбный, прямой стиль общения. Избегайте чрезмерно официального языка.
-- **Проверьте, если возможно.** Измените язык устройства и откройте приложение, чтобы увидеть, как переводы выглядят в контексте.
-
----
-
-## Вопросы?
-
-Если у тебя есть вопросы о контексте конкретной строки или нужна помощь для начала работы, создайте обсуждение на странице [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions).
-
-Спасибо за помощь в расширении охвата Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/units-and-locale.html b/v2.8.0/docs/ru-rRU/user/units-and-locale.html deleted file mode 100644 index b96272afae..0000000000 --- a/v2.8.0/docs/ru-rRU/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Единицы измерения и локаль - - - -
# Единицы измерения и локаль
-
-Приложение Meshtastic автоматически отображает температуру, расстояние, скорость и время в единицах, настроенных на вашем устройстве — никаких настроек внутри приложения менять не нужно.
-
-## Температура
-
-Значения температуры от датчиков окружающей среды передаются в **°C** и отображаются в соответствии с предпочтительным единицами температуры твоего устройства.
-
-![Метрики окружающей среды с температурой](../../assets/screenshots/nodes_environment_metrics.png)
-
- Твои настройки | Ты видишь |
- -------------- | --------- |
- Цельсий        | 22°C      |
- Фаренгейт      | 72°F      |
-
-Это влияет на все отображения температуры в приложении: телеметрия окружающей среды ноды, температура почвы, точка росы и оси диаграммы телеметрии.
-
-## Расстояние и высота
-
-Расстояния между нодами и высоты GPS передаются в **метрах** и автоматически масштабируются и преобразуются.
-
-![Отображение информации о расстоянии](../../assets/screenshots/nodes_distance_info.png)
-
- Твои настройки | Небольшое расстояние | Дальнее расстояние | Высота  |
- -------------- | -------------------- | ------------------ | ------- |
- Метрическая    | 350 м                | 2,5 км             | 1200 м  |
- Имперская      | 1148 фт              | 1,6 миль           | 3937 фт |
-
-Приложение использует естественное масштабирование — небольшие расстояния остаются в метрах или футах, а более дальние автоматически переключаются на километры или мили.
-
-### Где они появляются
-
-- **Список нод** — расстояние и азимут до каждой ноды
-- **Детали ноды** — высота, расстояние от твоего положения
-- **Карта** — расстояния между путевыми точками, расстояния между хопами трассировки
-- **Компас** — расстояние до выбранной ноды
-
-## Скорость
-
-Наземная скорость GPS отображается в единицах скорости, предпочитаемых в твоем регионе.
-
- Твоя настройка                     | Ты видишь |
- ---------------------------------- | --------- |
- Метрическая                        | 12 км/ч   |
- Имперская (США) | 7 миль/ч  |
-
-## Ветер
-
-Данные о скорости ветра и порывах с датчиков окружающей среды передаются в **м/с** и преобразуются для отображения.
-
- Твоя настройка                     | Ты видишь |
- ---------------------------------- | --------- |
- Метрическая                        | 5 м/с     |
- Имперская (США) | 11 миль/ч |
-
-Показания ветра отображаются в разделе среды **Детали ноды** и на диаграммах **Телеметрия окружающей среды**.
-
-## Осадки
-
-Измерения осадков (за 1 час и за 24 часа) передаются в **мм** и конвертируются для отображения.
-
- Твоя настройка                     | Ты видишь  |
- ---------------------------------- | ---------- |
- Метрическая                        | 12 мм      |
- Имперская (США) | 0,5 дюймов |
-
-## Единицы, которые никогда не меняются
-
-Некоторые единицы являются международными стандартами и отображаются одинаково независимо от вашего региона:
-
- Показатель                          | Единица                        | Почему                                   |
- ----------------------------------- | ------------------------------ | ---------------------------------------- |
- Барометрическое давление            | гПа                            | Международный метеорологический стандарт |
- Курс / азимут                       | ° (градусы) | Универсальная навигационная конвенция    |
- Радиация                            | мкР/ч                          | Стандартная единица дозиметрии           |
- GPS координаты                      | десятичные градусы             | Универсальный географический стандарт    |
- Влажность, батарея, влажность почвы | %                              | Универсальный                            |
-
-## Дата и время
-
-Все отметки времени в приложении — последняя активность, время сообщений, журналы телеметрии, оси графиков — следуют настройкам даты и времени вашего устройства.
-
- Настройка                     | Что это контролирует | Пример                                            |
- ----------------------------- | -------------------- | ------------------------------------------------- |
- **24-часовой формат времени** | Формат часов         | 14:30 или 2:30 PM |
- **Формат даты**               | Сортировка даты      | 09/05/2026 или 05/09/2026                         |
-
-Приложение также использует **относительное время** в списке нод, где это имеет смысл — например, "5 минут назад" или "2 часа назад", которое автоматически локализуется на язык твоего устройства.
-
-## Изменение системы измерений (Android)
-
-На Android система измерений (метрическая или имперская) связана с настройкой региона:
-
-1. Откройте **Настройки Android → Система → Язык и регион**
-2. Измените свои предпочтения в **Регион** или **Единицы измерения**
-3. Вернуться к Meshtastic — значения обновляются немедленно
-
-> 💡 **Совет:** Все форматирование производится в централизованном порядке и уважает локаль платформы, поэтому единицы измерения всегда в приложении.
-
-## Связанные темы
-
-- [Метрики ноды](node-metrics) — здесь отображаются температура, расстояние и значения датчиков
-- [Телеметрия и датчики](telemetry-and-sensors) — датчики, производящие эти измерения
-- [Измерение и форматирование](../developer/measurement) — ссылка на разработчика утилит форматирования
-- [Настройки — Радио и Пользователь](settings-radio-user) — настройка региона, управляющая выбором единиц
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/ru-rRU/user/widget.html b/v2.8.0/docs/ru-rRU/user/widget.html deleted file mode 100644 index a12ad39f58..0000000000 --- a/v2.8.0/docs/ru-rRU/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Виджет на главный экран - - - -
# Виджет на главный экран
-
-На Android, Meshtastic предоставляет **виджет** главного экрана, который показывает статистику по живым локальным каналам с подключенного устройства без необходимости открывать приложение.
-
-## Что он покажет
-
-Виджет показывает текущую локальную статистику **подключённого радиоустройства**:
-
-- **Батарея** — уровень заряда батареи радиоустройства или _Питание от сети_, когда работает от внешнего источника
-- **ChUtil** — использование канала (насколько занят канал LoRa, в процентах)
-- **AirUtil** — использование времени передачи (сколько рабочих циклов передаёт вашего радиоустройство)
-- **Трафик** — пакеты, переданные / полученные, и дубликаты
-- **Relays** — пересылаемые пакеты и отмены пересылки (показаны, когда радио действует как ретранслятор)
-
-Нажми на виджет, чтобы открыть приложение, или используй его кнопку обновления для запроса свежей статистики.
-
-> 💡 **Совет:** значения отражают радиоустройство, к которому ты подключен в данный момент. Если приложение не подключено к радиоустройству, виджет покажет последнюю известную статистику до переподключения.
-
-## Добавление виджета
-
-1. Долгое нажатие на пустой области твоего рабочего стола Android.
-2. Нажми **Виджет**.
-3. Найди **Meshtastic** в списке и перетащи виджет **Local Stats** на домашний экран.
-4. Изменение размера по мере необходимости — макет адаптируется к доступному пространству.
-
-> ⚠️ **Примечание:** Виджет только для Android. Он недоступен для ПК или сборках для iOS.
-
-## Связанные темы
-
-- [Метрики нод](node-metrics) — полная статистика сигнала и локальная статистика внутри приложения
-- [Подключения](connections) — подключиться к радиоустройству, чтобы виджет показывал статистику
-- [Discovery](discovery) — использование канала и времени передачи через сеть
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/android-auto.html b/v2.8.0/docs/sk-rSK/user/android-auto.html deleted file mode 100644 index 26d5f0f4fa..0000000000 --- a/v2.8.0/docs/sk-rSK/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Správy
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/app-functions.html b/v2.8.0/docs/sk-rSK/user/app-functions.html deleted file mode 100644 index f2c11a52ac..0000000000 --- a/v2.8.0/docs/sk-rSK/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/connections.html b/v2.8.0/docs/sk-rSK/user/connections.html deleted file mode 100644 index 9bb3f5befb..0000000000 --- a/v2.8.0/docs/sk-rSK/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State               | Popis                            |
- ---- | ------------------- | -------------------------------- |
- 🟢   | Pripojený           | Active radio link established    |
- 🟡   | Prebieha pripájanie | Handshake in progress            |
- 🔴   | Odpojené            | No active connection             |
- ⚪    | Not configured      | Nebolo vybrané žiadne zariadenie |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/debug-logs.html b/v2.8.0/docs/sk-rSK/user/debug-logs.html deleted file mode 100644 index 3bc766e9aa..0000000000 --- a/v2.8.0/docs/sk-rSK/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/desktop.html b/v2.8.0/docs/sk-rSK/user/desktop.html deleted file mode 100644 index 086af19910..0000000000 --- a/v2.8.0/docs/sk-rSK/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Mapa                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Nastavenia                                   | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/discovery.html b/v2.8.0/docs/sk-rSK/user/discovery.html deleted file mode 100644 index f19ba55727..0000000000 --- a/v2.8.0/docs/sk-rSK/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Trasovanie
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/firmware.html b/v2.8.0/docs/sk-rSK/user/firmware.html deleted file mode 100644 index 302888a085..0000000000 --- a/v2.8.0/docs/sk-rSK/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanál      | Popis                                                                      |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/help-and-docs.html b/v2.8.0/docs/sk-rSK/user/help-and-docs.html deleted file mode 100644 index 7cc6ef11d4..0000000000 --- a/v2.8.0/docs/sk-rSK/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/map-and-waypoints.html b/v2.8.0/docs/sk-rSK/user/map-and-waypoints.html deleted file mode 100644 index 513dc626a0..0000000000 --- a/v2.8.0/docs/sk-rSK/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Popis                                                   |
- ---------- | ------------------------------------------------------- |
- Názov      | Short identifier (max 29 characters) |
- Popis      | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Zamknuté   | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/messages-and-channels.html b/v2.8.0/docs/sk-rSK/user/messages-and-channels.html deleted file mode 100644 index 401246fa96..0000000000 --- a/v2.8.0/docs/sk-rSK/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanále
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Popis                                                                                                                                  |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Chyba                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Chyba                | Meaning                                  | What to Do                                                                                                                                                                  |
- -------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route             | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK              | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Časový limit         | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Žiadne rozhranie     | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit       | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Žiaden kanál         | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large            | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response          | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit     | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Nesprávna požiadavka | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Typ           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/mqtt.html b/v2.8.0/docs/sk-rSK/user/mqtt.html deleted file mode 100644 index f1ebb3be5d..0000000000 --- a/v2.8.0/docs/sk-rSK/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting            | Popis                                                                                         | Predvolené                                          |
- ------------------ | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address     | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Používateľské meno | Broker authentication                                                                         | meshdev                                             |
- Heslo              | Broker authentication                                                                         | large4cats                                          |
- Root Topic         | Base topic for messages                                                                       | msh                                                 |
- Encryption         | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~    | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS                | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting      | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Popis                            |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Popis                               | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/node-metrics.html b/v2.8.0/docs/sk-rSK/user/node-metrics.html deleted file mode 100644 index 47510b1868..0000000000 --- a/v2.8.0/docs/sk-rSK/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric          | Popis                               |
- --------------- | ----------------------------------- |
- Battery Level   | Current battery percentage          |
- Napätie         | Battery voltage reading             |
- Využitie kanálu | Percentage of airtime consumed      |
- Airtime         | Transmission time used by this node |
- Doba prevádzky  | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Teplota                              | BME280, BME680, SHT31 |
- Vlhkosť                              | BME280, BME680, SHT31 |
- Barometrický tlak                    | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Popis                                                                                                                                                                                                                      |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Dobrý    | < 1000    | Zelená   |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Červená  |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Popis                                                                          |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality   | Criteria                                                         |
- --------- | ---------------------------------------------------------------- |
- Dobrý     | SNR above the preset's limit                                     |
- Primeraný | less than 5.5 dB below the limit                 |
- Zlý       | 5.5 dB to 7.5 dB below the limit |
- Žiadny    | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Popis                   |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Prúd        | Power draw in milliamps |
- Napájanie   | Calculated wattage      |
-
-## Trasovanie
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Log pozície
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Nadmorská výška
-- Speed (if moving)
-- Timestamp for each position report
-
-## Informácia o susedoch
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/nodes.html b/v2.8.0/docs/sk-rSK/user/nodes.html deleted file mode 100644 index 5c3fca8ba9..0000000000 --- a/v2.8.0/docs/sk-rSK/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Rola                             | Popis                                                                                                                                                  |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Klient                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Stlmený Klient                   | Receives but doesn't retransmit                                                                                                                        |
- Skrytý Klient                    | Like Client Mute, plus hides from node list                                                                                                            |
- Smerovač                         | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Smerovač s Oneskorením           | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Sledovač                         | Optimized for position reporting at regular intervals                                                                                                  |
- Senzor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Sledovač                     | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Popis                                                                                |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Popis                                                              |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator       | Screenshot                                                    |
- --------------- | ------------------------------------------------------------- |
- Signal quality  | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level   | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count       | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Posledný príjem | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Vzdialenosť     | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/onboarding.html b/v2.8.0/docs/sk-rSK/user/onboarding.html deleted file mode 100644 index f5bc159505..0000000000 --- a/v2.8.0/docs/sk-rSK/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/settings-module-admin.html b/v2.8.0/docs/sk-rSK/user/settings-module-admin.html deleted file mode 100644 index 8352b48908..0000000000 --- a/v2.8.0/docs/sk-rSK/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting            | Popis                                                                    |
- ------------------ | ------------------------------------------------------------------------ |
- Enabled            | Toggle MQTT bridge                                                       |
- Server             | MQTT broker address                                                      |
- Používateľské meno | Authentication username                                                  |
- Heslo              | Authentication password                                                  |
- Encryption         | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~    | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS                | Use secure connection                                                    |
- Root Topic         | Base MQTT topic path                                                     |
- Map Report         | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Popis                           |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Popis                       |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Popis                                                                                                                                            |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Popis                             |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Popis                                   |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Popis                                                       |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Správy             | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Popis                            |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Popis                                                           |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Popis                                                                                                                                |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Popis                                                      |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Prúd               | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Popis                                                                                                                                   |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Popis                      |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administrácia
-
-### Administrácia na diaľku
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reštartovať
-
-Remotely reboot a connected or administered node.
-
-### Debug okno
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/settings-radio-user.html b/v2.8.0/docs/sk-rSK/user/settings-radio-user.html deleted file mode 100644 index 4afc8de341..0000000000 --- a/v2.8.0/docs/sk-rSK/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Popis                                                                                 |
- ----------------- | ------------------------------------------------------------------------------------- |
- Dlhé Meno         | Your display name (up to 39 characters)                            |
- Krátke Meno       | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Konfigurácia Zariadenia
-
- Setting                                    | Popis                                                                   | Predvolené |
- ------------------------------------------ | ----------------------------------------------------------------------- | ---------- |
- Rola                                       | Node behavior (Client, Router, etc.) | Klient     |
- Rebroadcast Mode                           | How the node retransmits messages                                       | Všetky     |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800      |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled   |
-
-### Konfigurácia LoRa
-
- Setting           | Popis                                                                   | Predvolené                                |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Región            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Rýchlosť                  | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Konfigurácia Displeju
-
- Setting             | Popis                                                                                |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Popis                              |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Inteligentná poloha                       | Enable movement-based broadcasting |
- Fixná Pozícia                             | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Popis                                   |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Konfigurácia siete
-
- Setting       | Popis                                                |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Konfigurácia Bluetooth
-
- Setting           | Popis                                                                     |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Pevný PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Popis                                                                                                                                                                                                          |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Verejný kľúč              | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Súkromný kľúč             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/signal-meter.html b/v2.8.0/docs/sk-rSK/user/signal-meter.html deleted file mode 100644 index 322a2c4289..0000000000 --- a/v2.8.0/docs/sk-rSK/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Dobrý     | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Primeraný | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Zlý       | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Žiadny    | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/tak.html b/v2.8.0/docs/sk-rSK/user/tak.html deleted file mode 100644 index 6525fb63c5..0000000000 --- a/v2.8.0/docs/sk-rSK/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Popis                      |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Rola            | Popis                                                                                                                                                                                                                                                                               |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Popis                                                                                                            |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/telemetry-and-sensors.html b/v2.8.0/docs/sk-rSK/user/telemetry-and-sensors.html deleted file mode 100644 index 589632ee0a..0000000000 --- a/v2.8.0/docs/sk-rSK/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Popis                          | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Napätie            | Battery voltage                | 3.0–4.2V (LiPo) |
- Využitie kanálu    | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Doba prevádzky     | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Senzor  | Teplota | Vlhkosť | Tlak | Notes                   |
- ------- | ------- | ------- | ---- | ----------------------- |
- BME280  | ✓       | ✓       | ✓    | Recommended all-in-one  |
- BME680  | ✓       | ✓       | ✓    | Adds gas resistance/IAQ |
- SHT31   | ✓       | ✓       | —    | High accuracy           |
- MCP9808 | ✓       | —       | —    | Precision temperature   |
- LPS22   | —       | —       | ✓    | Pressure only           |
-
-### Air Quality
-
- Senzor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Senzor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Popis                                     |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Prúd        | Power consumption (mA) |
- Napájanie   | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Popis                        |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/translate.html b/v2.8.0/docs/sk-rSK/user/translate.html deleted file mode 100644 index 4c4f98f0dd..0000000000 --- a/v2.8.0/docs/sk-rSK/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/units-and-locale.html b/v2.8.0/docs/sk-rSK/user/units-and-locale.html deleted file mode 100644 index f948d2e046..0000000000 --- a/v2.8.0/docs/sk-rSK/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Teplota
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Nadmorská výška |
- -------------------------------- | -------------- | ---------------------- | --------------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m         |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft        |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Rýchlosť
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vietor
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiácia                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sk-rSK/user/widget.html b/v2.8.0/docs/sk-rSK/user/widget.html deleted file mode 100644 index b4e60007fb..0000000000 --- a/v2.8.0/docs/sk-rSK/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/android-auto.html b/v2.8.0/docs/sl-rSI/user/android-auto.html deleted file mode 100644 index 6d622fd7c3..0000000000 --- a/v2.8.0/docs/sl-rSI/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/app-functions.html b/v2.8.0/docs/sl-rSI/user/app-functions.html deleted file mode 100644 index f97efaa66b..0000000000 --- a/v2.8.0/docs/sl-rSI/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/connections.html b/v2.8.0/docs/sl-rSI/user/connections.html deleted file mode 100644 index e713b1d960..0000000000 --- a/v2.8.0/docs/sl-rSI/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Opis                          |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | Prekinjeno     | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/debug-logs.html b/v2.8.0/docs/sl-rSI/user/debug-logs.html deleted file mode 100644 index c72ce149be..0000000000 --- a/v2.8.0/docs/sl-rSI/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/desktop.html b/v2.8.0/docs/sl-rSI/user/desktop.html deleted file mode 100644 index 5a97b13091..0000000000 --- a/v2.8.0/docs/sl-rSI/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/discovery.html b/v2.8.0/docs/sl-rSI/user/discovery.html deleted file mode 100644 index ff9c54fcb6..0000000000 --- a/v2.8.0/docs/sl-rSI/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Pot
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/firmware.html b/v2.8.0/docs/sl-rSI/user/firmware.html deleted file mode 100644 index 90d5e6d903..0000000000 --- a/v2.8.0/docs/sl-rSI/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal      | Opis                                                                       |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/help-and-docs.html b/v2.8.0/docs/sl-rSI/user/help-and-docs.html deleted file mode 100644 index e663a50244..0000000000 --- a/v2.8.0/docs/sl-rSI/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/map-and-waypoints.html b/v2.8.0/docs/sl-rSI/user/map-and-waypoints.html deleted file mode 100644 index 3108d3a77f..0000000000 --- a/v2.8.0/docs/sl-rSI/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Opis                                                    |
- ---------- | ------------------------------------------------------- |
- Ime        | Short identifier (max 29 characters) |
- Opis       | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Zaklenjeno | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/messages-and-channels.html b/v2.8.0/docs/sl-rSI/user/messages-and-channels.html deleted file mode 100644 index 23bb408ed6..0000000000 --- a/v2.8.0/docs/sl-rSI/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Opis                                                                                                                                   |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Napaka                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Napaka           | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Časovna omejitev | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Brez vmesnika    | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Brez kanala      | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Slaba zahteva    | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/mqtt.html b/v2.8.0/docs/sl-rSI/user/mqtt.html deleted file mode 100644 index d5fec1ce45..0000000000 --- a/v2.8.0/docs/sl-rSI/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Opis                                                                                          | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Opis                             |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Opis                                | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/node-metrics.html b/v2.8.0/docs/sl-rSI/user/node-metrics.html deleted file mode 100644 index 9962614449..0000000000 --- a/v2.8.0/docs/sl-rSI/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric         | Opis                                |
- -------------- | ----------------------------------- |
- Battery Level  | Current battery percentage          |
- Voltage        | Battery voltage reading             |
- Uporaba kanala | Percentage of airtime consumed      |
- Airtime        | Transmission time used by this node |
- Uptime         | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura                          | BME280, BME680, SHT31 |
- Vlaga                                | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Opis                                                                                                                                                                                                                       |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Dober    | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Opis                                                                           |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality   | Criteria                                                         |
- --------- | ---------------------------------------------------------------- |
- Dober     | SNR above the preset's limit                                     |
- Precejšen | less than 5.5 dB below the limit                 |
- Slab      | 5.5 dB to 7.5 dB below the limit |
- Brez      | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Opis                    |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Pot
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Dnevnik lokacije
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/nodes.html b/v2.8.0/docs/sl-rSI/user/nodes.html deleted file mode 100644 index fb641bd11d..0000000000 --- a/v2.8.0/docs/sl-rSI/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Opis                                                                                                                                                   |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Opis                                                                                 |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Opis                                                               |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator        | Screenshot                                                    |
- ---------------- | ------------------------------------------------------------- |
- Signal quality   | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level    | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count        | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Nazadnje slišano | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Razdalja         | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/onboarding.html b/v2.8.0/docs/sl-rSI/user/onboarding.html deleted file mode 100644 index bf337dda92..0000000000 --- a/v2.8.0/docs/sl-rSI/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/settings-module-admin.html b/v2.8.0/docs/sl-rSI/user/settings-module-admin.html deleted file mode 100644 index 8668630822..0000000000 --- a/v2.8.0/docs/sl-rSI/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Opis                                                                     |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Opis                            |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Opis                        |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Opis                                                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Opis                              |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Opis                                    |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Opis                                                        |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Opis                             |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Opis                                                            |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Opis                                                                                                                                 |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Opis                                                       |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Opis                                                                                                                                    |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Opis                       |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administracija
-
-### Administracija na daljavo
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Ponovni zagon
-
-Remotely reboot a connected or administered node.
-
-### Plošča za odpravljanje napak
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/settings-radio-user.html b/v2.8.0/docs/sl-rSI/user/settings-radio-user.html deleted file mode 100644 index 4f3cf4014d..0000000000 --- a/v2.8.0/docs/sl-rSI/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Opis                                                                                  |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Opis                                                                    | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Opis                                                                    | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Regija            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Opis                                                                                 |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Opis                               |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Opis                                    |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Opis                                                 |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Opis                                                                      |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Opis                                                                                                                                                                                                           |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Javni ključ               | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Zasebni ključ             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/signal-meter.html b/v2.8.0/docs/sl-rSI/user/signal-meter.html deleted file mode 100644 index bf93ecd58b..0000000000 --- a/v2.8.0/docs/sl-rSI/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Dober     | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Precejšen | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Slab      | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Brez      | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/tak.html b/v2.8.0/docs/sl-rSI/user/tak.html deleted file mode 100644 index 0ac915b751..0000000000 --- a/v2.8.0/docs/sl-rSI/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Opis                       |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Opis                                                                                                                                                                                                                                                                                |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Opis                                                                                                             |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/telemetry-and-sensors.html b/v2.8.0/docs/sl-rSI/user/telemetry-and-sensors.html deleted file mode 100644 index 7d055d69fe..0000000000 --- a/v2.8.0/docs/sl-rSI/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Opis                           | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Voltage            | Battery voltage                | 3.0–4.2V (LiPo) |
- Uporaba kanala     | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Uptime             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatura | Vlaga | Pressure | Notes                   |
- ------- | ----------- | ----- | -------- | ----------------------- |
- BME280  | ✓           | ✓     | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓     | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓     | —        | High accuracy           |
- MCP9808 | ✓           | —     | —        | Precision temperature   |
- LPS22   | —           | —     | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Opis                                      |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Opis                         |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/translate.html b/v2.8.0/docs/sl-rSI/user/translate.html deleted file mode 100644 index 32fa03148a..0000000000 --- a/v2.8.0/docs/sl-rSI/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/units-and-locale.html b/v2.8.0/docs/sl-rSI/user/units-and-locale.html deleted file mode 100644 index f66dde59bf..0000000000 --- a/v2.8.0/docs/sl-rSI/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sl-rSI/user/widget.html b/v2.8.0/docs/sl-rSI/user/widget.html deleted file mode 100644 index 088e7fce6f..0000000000 --- a/v2.8.0/docs/sl-rSI/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/android-auto.html b/v2.8.0/docs/sq-rAL/user/android-auto.html deleted file mode 100644 index 5e31d07879..0000000000 --- a/v2.8.0/docs/sq-rAL/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## 訊息
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/app-functions.html b/v2.8.0/docs/sq-rAL/user/app-functions.html deleted file mode 100644 index 2670b0b1a5..0000000000 --- a/v2.8.0/docs/sq-rAL/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/connections.html b/v2.8.0/docs/sq-rAL/user/connections.html deleted file mode 100644 index 4a96895796..0000000000 --- a/v2.8.0/docs/sq-rAL/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Përshkrimi                    |
- ---- | -------------- | ----------------------------- |
- 🟢   | Connected      | Active radio link established |
- 🟡   | Connecting     | Handshake in progress         |
- 🔴   | I shkëputur    | No active connection          |
- ⚪    | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/debug-logs.html b/v2.8.0/docs/sq-rAL/user/debug-logs.html deleted file mode 100644 index cd1dcb9a7c..0000000000 --- a/v2.8.0/docs/sq-rAL/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/desktop.html b/v2.8.0/docs/sq-rAL/user/desktop.html deleted file mode 100644 index 9f3aff7052..0000000000 --- a/v2.8.0/docs/sq-rAL/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Map                                          | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Settings                                     | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/discovery.html b/v2.8.0/docs/sq-rAL/user/discovery.html deleted file mode 100644 index a73c3815fc..0000000000 --- a/v2.8.0/docs/sq-rAL/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/firmware.html b/v2.8.0/docs/sq-rAL/user/firmware.html deleted file mode 100644 index 7c0941c1f2..0000000000 --- a/v2.8.0/docs/sq-rAL/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal      | Përshkrimi                                                                 |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/help-and-docs.html b/v2.8.0/docs/sq-rAL/user/help-and-docs.html deleted file mode 100644 index affbec5339..0000000000 --- a/v2.8.0/docs/sq-rAL/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/map-and-waypoints.html b/v2.8.0/docs/sq-rAL/user/map-and-waypoints.html deleted file mode 100644 index bb20e853ec..0000000000 --- a/v2.8.0/docs/sq-rAL/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Përshkrimi                                              |
- ---------- | ------------------------------------------------------- |
- Emri       | Short identifier (max 29 characters) |
- Përshkrimi | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- I bllokuar | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/messages-and-channels.html b/v2.8.0/docs/sq-rAL/user/messages-and-channels.html deleted file mode 100644 index 5044cd2c0e..0000000000 --- a/v2.8.0/docs/sq-rAL/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Përshkrimi                                                                                                                             |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Gabim                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Gabim            | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Koha e skaduar   | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Nuk ka ndërfaqe  | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Nuk ka kanal     | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Kërkesë e gabuar | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/mqtt.html b/v2.8.0/docs/sq-rAL/user/mqtt.html deleted file mode 100644 index 93d812139d..0000000000 --- a/v2.8.0/docs/sq-rAL/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Përshkrimi                                                                                    | Default                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Username        | Broker authentication                                                                         | meshdev                                             |
- Password        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Përshkrimi                       |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Përshkrimi                          | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/node-metrics.html b/v2.8.0/docs/sq-rAL/user/node-metrics.html deleted file mode 100644 index b60bc0c632..0000000000 --- a/v2.8.0/docs/sq-rAL/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric              | Përshkrimi                          |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Voltage             | Battery voltage reading             |
- Përdorimi i kanalit | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Uptime              | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatura                          | BME280, BME680, SHT31 |
- Lagështia                            | BME280, BME680, SHT31 |
- Barometric Pressure                  | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Përshkrimi                                                                                                                                                                                                                 |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Mirë     | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Përshkrimi                                                                     |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Mirë    | SNR above the preset's limit                                     |
- Mesatar | less than 5.5 dB below the limit                 |
- I Keq   | 5.5 dB to 7.5 dB below the limit |
- Asnjë   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Përshkrimi              |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Current     | Power draw in milliamps |
- Power       | Calculated wattage      |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Regjistri i Pozitës
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/nodes.html b/v2.8.0/docs/sq-rAL/user/nodes.html deleted file mode 100644 index 81754b16c7..0000000000 --- a/v2.8.0/docs/sq-rAL/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role                             | Përshkrimi                                                                                                                                             |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtrimi                   | Përshkrimi                                                                           |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Përshkrimi                                                         |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator            | Screenshot                                                    |
- -------------------- | ------------------------------------------------------------- |
- Signal quality       | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level        | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count            | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- I fundit që u dëgjua | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Distanca             | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/onboarding.html b/v2.8.0/docs/sq-rAL/user/onboarding.html deleted file mode 100644 index 0203114ea3..0000000000 --- a/v2.8.0/docs/sq-rAL/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/settings-module-admin.html b/v2.8.0/docs/sq-rAL/user/settings-module-admin.html deleted file mode 100644 index 921ffe3060..0000000000 --- a/v2.8.0/docs/sq-rAL/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Përshkrimi                                                               |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Username        | Authentication username                                                  |
- Password        | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Përshkrimi                      |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mode       | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Përshkrimi                  |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Përshkrimi                                                                                                                                       |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Përshkrimi                        |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Përshkrimi                              |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Përshkrimi                                                  |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- 訊息                 | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Përshkrimi                       |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Përshkrimi                                                      |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Përshkrimi                                                                                                                           |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Përshkrimi                                                 |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Current            | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Përshkrimi                                                                                                                              |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Përshkrimi                 |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administratë
-
-### Administratë e Largët
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Rindiz
-
-Remotely reboot a connected or administered node.
-
-### Paneli i debug-ut
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/settings-radio-user.html b/v2.8.0/docs/sq-rAL/user/settings-radio-user.html deleted file mode 100644 index d653c0b922..0000000000 --- a/v2.8.0/docs/sq-rAL/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Përshkrimi                                                                            |
- ----------------- | ------------------------------------------------------------------------------------- |
- Long Name         | Your display name (up to 39 characters)                            |
- Short Name        | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting                                    | Përshkrimi                                                              | Default  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Role                                       | Node behavior (Client, Router, etc.) | Client   |
- Rebroadcast Mode                           | How the node retransmits messages                                       | All      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting           | Përshkrimi                                                              | Default                                   |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Rajon             | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting             | Përshkrimi                                                                           |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Type           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Përshkrimi                         |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Power Config
-
- Setting                                 | Përshkrimi                              |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Përshkrimi                                           |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting           | Përshkrimi                                                                |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Përshkrimi                                                                                                                                                                                                     |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Public Key                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Private Key               | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/signal-meter.html b/v2.8.0/docs/sq-rAL/user/signal-meter.html deleted file mode 100644 index 581942db23..0000000000 --- a/v2.8.0/docs/sq-rAL/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
----- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Mirë    | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Mesatar | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- I Keq   | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Asnjë   | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/tak.html b/v2.8.0/docs/sq-rAL/user/tak.html deleted file mode 100644 index 8dac7bdfa9..0000000000 --- a/v2.8.0/docs/sq-rAL/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Përshkrimi                 |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- Mode    | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role            | Përshkrimi                                                                                                                                                                                                                                                                          |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Përshkrimi                                                                                                       |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/telemetry-and-sensors.html b/v2.8.0/docs/sq-rAL/user/telemetry-and-sensors.html deleted file mode 100644 index 70dd5b01b5..0000000000 --- a/v2.8.0/docs/sq-rAL/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Përshkrimi                     | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Voltage             | Battery voltage                | 3.0–4.2V (LiPo) |
- Përdorimi i kanalit | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Uptime              | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatura | Lagështia | Pressure | Notes                   |
- ------- | ----------- | --------- | -------- | ----------------------- |
- BME280  | ✓           | ✓         | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓         | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓         | —        | High accuracy           |
- MCP9808 | ✓           | —         | —        | Precision temperature   |
- LPS22   | —           | —         | ✓        | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Përshkrimi                                |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Current     | Power consumption (mA) |
- Power       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Përshkrimi                   |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/translate.html b/v2.8.0/docs/sq-rAL/user/translate.html deleted file mode 100644 index fcf20f6034..0000000000 --- a/v2.8.0/docs/sq-rAL/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/units-and-locale.html b/v2.8.0/docs/sq-rAL/user/units-and-locale.html deleted file mode 100644 index 455ce91953..0000000000 --- a/v2.8.0/docs/sq-rAL/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatura
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitude |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sq-rAL/user/widget.html b/v2.8.0/docs/sq-rAL/user/widget.html deleted file mode 100644 index e0ee88c38b..0000000000 --- a/v2.8.0/docs/sq-rAL/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/android-auto.html b/v2.8.0/docs/srp/user/android-auto.html deleted file mode 100644 index e30cd17905..0000000000 --- a/v2.8.0/docs/srp/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Поруке
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Чворови
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/app-functions.html b/v2.8.0/docs/srp/user/app-functions.html deleted file mode 100644 index 9f924ed2bf..0000000000 --- a/v2.8.0/docs/srp/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/connections.html b/v2.8.0/docs/srp/user/connections.html deleted file mode 100644 index 0dc99e4031..0000000000 --- a/v2.8.0/docs/srp/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Иконица | State          | Опис                          |
- ------- | -------------- | ----------------------------- |
- 🟢      | Блутут повезан | Active radio link established |
- 🟡      | Connecting     | Handshake in progress         |
- 🔴      | Раскачено      | No active connection          |
- ⚪       | Not configured | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/debug-logs.html b/v2.8.0/docs/srp/user/debug-logs.html deleted file mode 100644 index 639ad96908..0000000000 --- a/v2.8.0/docs/srp/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Дебаг логови - - - -
# Дебаг логови
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/desktop.html b/v2.8.0/docs/srp/user/desktop.html deleted file mode 100644 index dfe4a35a08..0000000000 --- a/v2.8.0/docs/srp/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Белешке                                                                                   |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Мапа                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Подешавања                                   | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Отвори подешавања      |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/discovery.html b/v2.8.0/docs/srp/user/discovery.html deleted file mode 100644 index 329a7958ec..0000000000 --- a/v2.8.0/docs/srp/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Метрика                                  | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Време емитовања                          | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Праћење руте
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/firmware.html b/v2.8.0/docs/srp/user/firmware.html deleted file mode 100644 index e91485cb3f..0000000000 --- a/v2.8.0/docs/srp/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Ажурирања фирмвера - - - -
# Ажурирања фирмвера
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Канал      | Опис                                                                       |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/help-and-docs.html b/v2.8.0/docs/srp/user/help-and-docs.html deleted file mode 100644 index 4b07d79b59..0000000000 --- a/v2.8.0/docs/srp/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Претражи
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/map-and-waypoints.html b/v2.8.0/docs/srp/user/map-and-waypoints.html deleted file mode 100644 index 639c1786ae..0000000000 --- a/v2.8.0/docs/srp/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Опис                                                    |
- ---------- | ------------------------------------------------------- |
- Име        | Short identifier (max 29 characters) |
- Опис       | Optional longer description                             |
- Иконица    | Visual marker emoji on the map                          |
- Закључан   | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/messages-and-channels.html b/v2.8.0/docs/srp/user/messages-and-channels.html deleted file mode 100644 index d6663e9c09..0000000000 --- a/v2.8.0/docs/srp/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Канали
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Иконица | Security Level                       | Опис                                                                                                                                   |
- ------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒      | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐      | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓      | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️      | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Директне поруке
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Грешка                              | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Грешка               | Meaning                                  | What to Do                                                                                                                                                                  |
- -------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Нема руте            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK              | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Временско ограничење | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Нема интерфејса      | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit       | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Нема канала          | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large            | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Нема одговора        | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit     | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Лош захтев           | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type          | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/mqtt.html b/v2.8.0/docs/srp/user/mqtt.html deleted file mode 100644 index 747bbf3b9d..0000000000 --- a/v2.8.0/docs/srp/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Опис                                                                                          | Подразумевано                                       |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Адреса сервера  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Корисничко име  | Broker authentication                                                                         | meshdev                                             |
- Лозинка         | Broker authentication                                                                         | large4cats                                          |
- Корен тема      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Омогућено                                           |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Онемогућено                                         |
- TLS             | Secure connection to broker                                                                   | Онемогућено                                         |
- Map Reporting   | Report position to public map                                                                 | Онемогућено                                         |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Опис                             |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Опис                                | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/node-metrics.html b/v2.8.0/docs/srp/user/node-metrics.html deleted file mode 100644 index e58e142b10..0000000000 --- a/v2.8.0/docs/srp/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Метрика уређаја
-
-Basic operating information reported by each node:
-
- Метрика              | Опис                                |
- -------------------- | ----------------------------------- |
- Ниво батерије        | Current battery percentage          |
- Напон                | Battery voltage reading             |
- Искоришћеност канала | Percentage of airtime consumed      |
- Време емитовања      | Transmission time used by this node |
- Време рада           | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Метрике сензора
-
-Environmental sensor data (requires compatible hardware):
-
- Метрика                              | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Температура                          | BME280, BME680, SHT31 |
- Влажност                             | BME280, BME680, SHT31 |
- Барометарски притисак                | BME280, BMP280        |
- Gas Resistance                       | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Метрика               | Unit      | Опис                                                                                                                                                                                                                       |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Боја     |
- -------- | ---------------------------------- | -------- |
- Добро    | < 1000    | Green    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Red      |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Метрика     | Опис                                                                           |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality    | Criteria                                                         |
- ---------- | ---------------------------------------------------------------- |
- Добро      | SNR above the preset's limit                                     |
- Прихватљив | less than 5.5 dB below the limit                 |
- Лош        | 5.5 dB to 7.5 dB below the limit |
- Ништа      | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Мерни подаци о снази
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Метрика     | Опис                    |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Струја      | Power draw in milliamps |
- Снага       | Calculated wattage      |
-
-## Праћење руте
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Логови позиција
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Висина
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/nodes.html b/v2.8.0/docs/srp/user/nodes.html deleted file mode 100644 index c027e4020a..0000000000 --- a/v2.8.0/docs/srp/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Чворови - - - -
# Чворови
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Улога                            | Опис                                                                                                                                                   |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Клијент                          | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Клијент мутиран                  | Receives but doesn't retransmit                                                                                                                        |
- Скривени клијент                 | Like Client Mute, plus hides from node list                                                                                                            |
- Рутер                            | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Рутер са кашњењем                | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Трекер                           | Optimized for position reporting at regular intervals                                                                                                  |
- Сензор                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- ТАК Трекер                       | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Иконица     | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Филтер                     | Опис                                                                                 |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Опис                                                               |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator          | Screenshot                                                    |
- ------------------ | ------------------------------------------------------------- |
- Signal quality     | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level      | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count          | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Последње откривање | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Раздаљина          | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/onboarding.html b/v2.8.0/docs/srp/user/onboarding.html deleted file mode 100644 index d202fab45b..0000000000 --- a/v2.8.0/docs/srp/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/settings-module-admin.html b/v2.8.0/docs/srp/user/settings-module-admin.html deleted file mode 100644 index 6cdde88cfb..0000000000 --- a/v2.8.0/docs/srp/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Конфигурација модула
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Опис                                                                     |
- --------------- | ------------------------------------------------------------------------ |
- Омогућено       | Toggle MQTT bridge                                                       |
- Сервер          | MQTT broker address                                                      |
- Корисничко име  | Authentication username                                                  |
- Лозинка         | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Корен тема      | Base MQTT topic path                                                     |
- Извештај мапе   | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Опис                            |
- ---------- | ------------------------------- |
- Омогућено  | Activate serial communication   |
- Ехо        | Echo received serial data back  |
- Мод        | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Опис                        |
- -------------------------------- | --------------------------- |
- Омогућено                        | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Активан                          | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Опис                                                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Омогућено                                  | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Сервер                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Опис                              |
- -------------------------------------- | --------------------------------- |
- Омогућено                              | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Опис                                    |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Опис                                                        |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Поруке             | Newline-separated list of messages                          |
- Пошаљи звоно       | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Опис                             |
- --------------- | -------------------------------- |
- Омогућено       | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Опис                                                            |
- -------------------- | --------------------------------------------------------------- |
- Омогућено            | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Опис                                                                                                                                 |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Омогућено                              | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Опис                                                       |
- ------------------ | ---------------------------------------------------------- |
- LED статус         | Turn the LED on or off                                     |
- Струја             | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Опис                                                                                                                                    |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Омогућено                                | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Пошаљи звоно                             | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Опис                       |
- -------------------------------------- | -------------------------- |
- Омогућено                              | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Администрација
-
-### Удаљена администрација
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Ресетовање на фабричка подешавања
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Поновно покретање
-
-Remotely reboot a connected or administered node.
-
-### Панел за отклањање грешака
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/settings-radio-user.html b/v2.8.0/docs/srp/user/settings-radio-user.html deleted file mode 100644 index 452fe906a1..0000000000 --- a/v2.8.0/docs/srp/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting              | Опис                                                                                  |
- -------------------- | ------------------------------------------------------------------------------------- |
- Дуго име             | Your display name (up to 39 characters)                            |
- Кратко име           | 4-character abbreviated name                                                          |
- Лиценцирани оператор | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Подешавања уређаја
-
- Setting                                    | Опис                                                                    | Подразумевано |
- ------------------------------------------ | ----------------------------------------------------------------------- | ------------- |
- Улога                                      | Node behavior (Client, Router, etc.) | Клијент       |
- Режим реемитовања                          | How the node retransmits messages                                       | Сви           |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800         |
- Double-tap Button                          | Action for double-tap button press                                      | Онемогућено   |
-
-### LoRA подешавања
-
- Setting           | Опис                                                                    | Подразумевано                             |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Регион            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Брзина                    | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Подешавања приказа
-
- Setting             | Опис                                                                                 |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Јединице приказа    | Metric or Imperial                                                                   |
- Тип OLED-а          | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Подешавања позиције
-
- Setting                                   | Опис                               |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Паметно позиционирање                     | Enable movement-based broadcasting |
- Фиксна локација                           | Use a manually set position        |
-
-### Подешавања напајња
-
- Setting                                 | Опис                                    |
- --------------------------------------- | --------------------------------------- |
- Уштеда енергије                         | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Конфигурација мреже
-
- Setting       | Опис                                                 |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP Server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Блутут подешавања
-
- Setting           | Опис                                                                      |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Мод упаривања     | Fixed PIN, Random PIN, or No PIN                                          |
- Fixed PIN         | PIN code for pairing (default: 123456) |
-
-### Сигурносна подешавања
-
- Setting                   | Опис                                                                                                                                                                                                           |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Јавни кључ                | Your node's public key (read-only)                                                                                                                                                          |
- Admin Key                 | Key for remote administration                                                                                                                                                                                  |
- Приватни кључ             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Managed Mode              | Restrict non-admin channel changes                                                                                                                                                                             |
- Backup Keys               | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/signal-meter.html b/v2.8.0/docs/srp/user/signal-meter.html deleted file mode 100644 index 47b61c2451..0000000000 --- a/v2.8.0/docs/srp/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
-------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Добро      | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Прихватљив | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Лош        | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Ништа      | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/tak.html b/v2.8.0/docs/srp/user/tak.html deleted file mode 100644 index dbd688b312..0000000000 --- a/v2.8.0/docs/srp/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting   | Опис                       |
- --------- | -------------------------- |
- Омогућено | Activate TAK interop       |
- Мод       | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Улога           | Опис                                                                                                                                                                                                                                                                                |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Опис                                                                                                             |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/telemetry-and-sensors.html b/v2.8.0/docs/srp/user/telemetry-and-sensors.html deleted file mode 100644 index 455d36dcca..0000000000 --- a/v2.8.0/docs/srp/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Метрика              | Опис                           | Typical Range                                                      |
- -------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Ниво батерије        | Charge percentage              | 0–100%                                                             |
- Напон                | Battery voltage                | 3.0–4.2V (LiPo) |
- Искоришћеност канала | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX   | % of airtime used by this node | 0–100%                                                             |
- Време рада           | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Сензор  | Температура | Влажност | Pressure | Белешке                 |
- ------- | ----------- | -------- | -------- | ----------------------- |
- BME280  | ✓           | ✓        | ✓        | Recommended all-in-one  |
- BME680  | ✓           | ✓        | ✓        | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓        | —        | High accuracy           |
- MCP9808 | ✓           | —        | —        | Precision temperature   |
- LPS22   | —           | —        | ✓        | Pressure only           |
-
-### Air Quality
-
- Сензор   | Метрика                                            | Белешке                    |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Сензор   | Метрика                                |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Мерни подаци о снази
-
-Nodes with INA-series power sensors can report:
-
- Метрика     | Опис                                      |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Струја      | Power consumption (mA) |
- Снага       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Метрика               | Unit  | Опис                         |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/translate.html b/v2.8.0/docs/srp/user/translate.html deleted file mode 100644 index 1431df4c11..0000000000 --- a/v2.8.0/docs/srp/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/units-and-locale.html b/v2.8.0/docs/srp/user/units-and-locale.html deleted file mode 100644 index b6bdfdf01f..0000000000 --- a/v2.8.0/docs/srp/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Температура
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Висина   |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Метрика                          | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Брзина
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Метрика                          | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Метрика                          | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Метрика                          | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radiation                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/srp/user/widget.html b/v2.8.0/docs/srp/user/widget.html deleted file mode 100644 index f5cc1bf997..0000000000 --- a/v2.8.0/docs/srp/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/styles/docs.css b/v2.8.0/docs/styles/docs.css deleted file mode 100644 index 4b609da54f..0000000000 --- a/v2.8.0/docs/styles/docs.css +++ /dev/null @@ -1,31 +0,0 @@ -:root { - --primary: #2C2D3C; - --accent: #67EA94; - --accent-text: #3FB86D; - --info: #5C6BC0; - --warning: #E8A33E; - --error: #E05252; -} -body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; - line-height: 1.6; - padding: 16px; - color: var(--primary); - max-width: 800px; - margin: 0 auto; -} -@media (prefers-color-scheme: dark) { - body { background: #1A1B26; color: #ECEDF3; } - pre { background: #2C2D3C; } -} -pre.markdown-content { - white-space: pre-wrap; - word-wrap: break-word; - font-family: inherit; - background: transparent; - padding: 0; - margin: 0; -} -.callout-info { border-left: 4px solid var(--info); padding: 12px; background: #E8EAF6; margin: 12px 0; } -.callout-warning { border-left: 4px solid var(--warning); padding: 12px; background: #FFF3E0; margin: 12px 0; } -.callout-error { border-left: 4px solid var(--error); padding: 12px; background: #FDEAEA; margin: 12px 0; } \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/android-auto.html b/v2.8.0/docs/sv-rSE/user/android-auto.html deleted file mode 100644 index 60d3bf7e92..0000000000 --- a/v2.8.0/docs/sv-rSE/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Meddelanden
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Noder
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/app-functions.html b/v2.8.0/docs/sv-rSE/user/app-functions.html deleted file mode 100644 index 1efc5e9ec4..0000000000 --- a/v2.8.0/docs/sv-rSE/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/connections.html b/v2.8.0/docs/sv-rSE/user/connections.html deleted file mode 100644 index e964f05a4c..0000000000 --- a/v2.8.0/docs/sv-rSE/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Beskrivning                   |
- ---- | -------------- | ----------------------------- |
- 🟢   | Ansluten       | Active radio link established |
- 🟡   | Ansluter       | Handshake in progress         |
- 🔴   | Frånkopplad    | No active connection          |
- ⚪    | Not configured | Ingen enhet vald              |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/debug-logs.html b/v2.8.0/docs/sv-rSE/user/debug-logs.html deleted file mode 100644 index 05b8098200..0000000000 --- a/v2.8.0/docs/sv-rSE/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/desktop.html b/v2.8.0/docs/sv-rSE/user/desktop.html deleted file mode 100644 index b0c2f3b305..0000000000 --- a/v2.8.0/docs/sv-rSE/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Anteckningar                                                                              |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Karta                                        | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Inställningar                                | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Uppdatering av fast programvara              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/discovery.html b/v2.8.0/docs/sv-rSE/user/discovery.html deleted file mode 100644 index 1218e981ac..0000000000 --- a/v2.8.0/docs/sv-rSE/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Upptäckt - - - -
# Upptäckt
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Kanalutnyttjande                         | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute (spåra rutt)
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/firmware.html b/v2.8.0/docs/sv-rSE/user/firmware.html deleted file mode 100644 index ae81304a1c..0000000000 --- a/v2.8.0/docs/sv-rSE/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal          | Beskrivning                                                                |
- -------------- | -------------------------------------------------------------------------- |
- Stabil version | Recommended for most users; tested releases                                |
- Alfa           | Preview releases; may contain bugs                                         |
- Lokal fil      | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Felsökning
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/help-and-docs.html b/v2.8.0/docs/sv-rSE/user/help-and-docs.html deleted file mode 100644 index aaebd115c6..0000000000 --- a/v2.8.0/docs/sv-rSE/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/map-and-waypoints.html b/v2.8.0/docs/sv-rSE/user/map-and-waypoints.html deleted file mode 100644 index 46164ce1da..0000000000 --- a/v2.8.0/docs/sv-rSE/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property    | Beskrivning                                             |
- ----------- | ------------------------------------------------------- |
- Namn        | Short identifier (max 29 characters) |
- Beskrivning | Optional longer description                             |
- Icon        | Visual marker emoji on the map                          |
- Låst        | If locked, only the creator can edit or delete          |
- Expiration  | Optional auto-remove date and time                      |
- Geofence    | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Kartlager
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/messages-and-channels.html b/v2.8.0/docs/sv-rSE/user/messages-and-channels.html deleted file mode 100644 index ffb21fff56..0000000000 --- a/v2.8.0/docs/sv-rSE/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanaler
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Kanalsäkerhet
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Beskrivning                                                                                                                            |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Levererad till nät                  | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Fel                                 | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Fel              | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Timeout          | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Inget gränssnitt | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Ingen kanal      | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Inget svar       | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Misslyckad       | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Typ           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/mqtt.html b/v2.8.0/docs/sv-rSE/user/mqtt.html deleted file mode 100644 index f5d0f03813..0000000000 --- a/v2.8.0/docs/sv-rSE/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Konfiguration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Beskrivning                                                                                   | Förvald                                             |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Användarnamn    | Broker authentication                                                                         | meshdev                                             |
- Lösenord        | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Kryptering      | Encrypt MQTT payload                                                                          | Aktiverad                                           |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Beskrivning                      |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Beskrivning                         | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Felsökning
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/node-metrics.html b/v2.8.0/docs/sv-rSE/user/node-metrics.html deleted file mode 100644 index c5fa250d28..0000000000 --- a/v2.8.0/docs/sv-rSE/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Enhetens mätvärden
-
-Basic operating information reported by each node:
-
- Metric           | Beskrivning                         |
- ---------------- | ----------------------------------- |
- Battery Level    | Current battery percentage          |
- Spänning         | Battery voltage reading             |
- Kanalutnyttjande | Percentage of airtime consumed      |
- Airtime          | Transmission time used by this node |
- Upptid           | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Miljövärden
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Temperatur                           | BME280, BME680, SHT31 |
- Luftfuktighet                        | BME280, BME680, SHT31 |
- Lufttryck                            | BME280, BMP280        |
- Gasmotstånd                          | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Beskrivning                                                                                                                                                                                                                |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- Bra      | < 1000    | Grönt    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Rött     |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Beskrivning                                                                    |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- Bra     | SNR above the preset's limit                                     |
- Ok      | less than 5.5 dB below the limit                 |
- Dålig   | 5.5 dB to 7.5 dB below the limit |
- Ingen   | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Strömdata
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Beskrivning             |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Ström       | Power draw in milliamps |
- Ström       | Calculated wattage      |
-
-## Traceroute (spåra rutt)
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Loggbok
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Altitud
-- Speed (if moving)
-- Timestamp for each position report
-
-## Granninformation
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/nodes.html b/v2.8.0/docs/sv-rSE/user/nodes.html deleted file mode 100644 index 5074319003..0000000000 --- a/v2.8.0/docs/sv-rSE/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Noder - - - -
# Noder
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Roll                             | Beskrivning                                                                                                                                            |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Ta bort nod
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter                     | Beskrivning                                                                          |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Beskrivning                                                        |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Batterinivå    | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Senast hörd    | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Avstånd        | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/onboarding.html b/v2.8.0/docs/sv-rSE/user/onboarding.html deleted file mode 100644 index 5c9fd9fb88..0000000000 --- a/v2.8.0/docs/sv-rSE/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Kom igång - - - -
# Kom igång
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/settings-module-admin.html b/v2.8.0/docs/sv-rSE/user/settings-module-admin.html deleted file mode 100644 index 2446bb0b0b..0000000000 --- a/v2.8.0/docs/sv-rSE/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Beskrivning                                                              |
- --------------- | ------------------------------------------------------------------------ |
- Aktiverad       | Toggle MQTT bridge                                                       |
- Server          | MQTT broker address                                                      |
- Användarnamn    | Authentication username                                                  |
- Lösenord        | Authentication password                                                  |
- Kryptering      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Beskrivning                     |
- ---------- | ------------------------------- |
- Aktiverad  | Activate serial communication   |
- Eko        | Echo received serial data back  |
- Typ        | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Hastighet  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Beskrivning                 |
- -------------------------------- | --------------------------- |
- Aktiverad                        | Activate notifications      |
- Meddelande-utgång                | Notify on incoming messages |
- Meddelande-summer                | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Klock-tecken-utgång              | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Aktiv                            | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Beskrivning                                                                                                                                      |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Aktiverad                                  | Activate store and forward                                                                                                                       |
- Pulsera                                    | Periodically announce this node's store-and-forward capability                                                                                   |
- Post                                       | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Server                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Beskrivning                       |
- -------------------------------------- | --------------------------------- |
- Aktiverad                              | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Beskrivning                             |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Aktivera luftkvalitet        | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Beskrivning                                                 |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Meddelanden        | Newline-separated list of messages                          |
- Skicka klocka      | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Beskrivning                      |
- --------------- | -------------------------------- |
- Aktiverad       | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Beskrivning                                                     |
- -------------------- | --------------------------------------------------------------- |
- Aktiverad            | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Beskrivning                                                                                                                          |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Aktiverad                              | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Beskrivning                                                |
- ------------------ | ---------------------------------------------------------- |
- LED-läge           | Turn the LED on or off                                     |
- Ström              | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Beskrivning                                                                                                                             |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Aktiverad                                | Activate detection sensor                                                                                                               |
- Stift att övervaka                       | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Skicka klocka                            | Include bell character in alerts                                                                                                        |
- Visningsnamn                             | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Beskrivning                |
- -------------------------------------- | -------------------------- |
- Aktiverad                              | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Fjärradministration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Rensa noddatabas
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Starta om
-
-Remotely reboot a connected or administered node.
-
-### Felsökningspanel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/settings-radio-user.html b/v2.8.0/docs/sv-rSE/user/settings-radio-user.html deleted file mode 100644 index 6b5fae1ff0..0000000000 --- a/v2.8.0/docs/sv-rSE/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## Användarinställningar
-
-### User Profile
-
- Setting           | Beskrivning                                                                           |
- ----------------- | ------------------------------------------------------------------------------------- |
- Långt namn        | Your display name (up to 39 characters)                            |
- Kort namn         | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Konfiguration
-
-### Enhetskonfiguration
-
- Setting                                    | Beskrivning                                                             | Förvald  |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- Roll                                       | Node behavior (Client, Router, etc.) | Client   |
- Återutsändningsläge                        | How the node retransmits messages                                       | Alla     |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa Config
-
- Setting                | Beskrivning                                                             | Förvald                                   |
- ---------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Region                 | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem-förinställningar | Speed/range tradeoff                                                    | LongFast                                  |
- Hoppgräns              | Maximum retransmit hops                                                 | 3                                         |
- TX Power               | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frekvensförskjutning   | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth      | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Hastighet                 | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting               | Beskrivning                                                                          |
- --------------------- | ------------------------------------------------------------------------------------ |
- Tidsgräns för display | Time before display sleeps                                                           |
- Enheter               | Metric or Imperial                                                                   |
- OLED-typ              | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation   | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~     | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Beskrivning                        |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- Intervall för GPS-uppdatering             | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart position                            | Enable movement-based broadcasting |
- Fast plats                                | Use a manually set position        |
-
-### Ströminställningar
-
- Setting                                 | Beskrivning                             |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Network Config
-
- Setting       | Beskrivning                                          |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Nätverkslösenord                                     |
- NTP-server    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth-inställningar
-
- Setting           | Beskrivning                                                               |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Fast PIN          | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting                   | Beskrivning                                                                                                                                                                                                    |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Publik nyckel             | Your node's public key (read-only)                                                                                                                                                          |
- Admin-nyckel              | Key for remote administration                                                                                                                                                                                  |
- Privat nyckel             | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Hanterat läge             | Restrict non-admin channel changes                                                                                                                                                                             |
- Säkerhetskopiera nycklar  | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/signal-meter.html b/v2.8.0/docs/sv-rSE/user/signal-meter.html deleted file mode 100644 index c32fe78823..0000000000 --- a/v2.8.0/docs/sv-rSE/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Bra   | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Ok    | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Dålig | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Ingen | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/tak.html b/v2.8.0/docs/sv-rSE/user/tak.html deleted file mode 100644 index c2bf8bba49..0000000000 --- a/v2.8.0/docs/sv-rSE/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Konfiguration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting   | Beskrivning                |
- --------- | -------------------------- |
- Aktiverad | Activate TAK interop       |
- Typ       | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Roll            | Beskrivning                                                                                                                                                                                                                                                                         |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Beskrivning                                                                                                      |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Lagfärg     | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Felsökning
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/telemetry-and-sensors.html b/v2.8.0/docs/sv-rSE/user/telemetry-and-sensors.html deleted file mode 100644 index 5be5fa1558..0000000000 --- a/v2.8.0/docs/sv-rSE/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Beskrivning                    | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Spänning           | Battery voltage                | 3.0–4.2V (LiPo) |
- Kanalutnyttjande   | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Upptid             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Temperatur | Luftfuktighet | Tryck | Anteckningar            |
- ------- | ---------- | ------------- | ----- | ----------------------- |
- BME280  | ✓          | ✓             | ✓     | Recommended all-in-one  |
- BME680  | ✓          | ✓             | ✓     | Adds gas resistance/IAQ |
- SHT31   | ✓          | ✓             | —     | High accuracy           |
- MCP9808 | ✓          | —             | —     | Precision temperature   |
- LPS22   | —          | —             | ✓     | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Anteckningar               |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Strömdata
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Beskrivning                               |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Ström       | Power consumption (mA) |
- Ström       | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Beskrivning                  |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Felsökning
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/translate.html b/v2.8.0/docs/sv-rSE/user/translate.html deleted file mode 100644 index e8a2687a5e..0000000000 --- a/v2.8.0/docs/sv-rSE/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/units-and-locale.html b/v2.8.0/docs/sv-rSE/user/units-and-locale.html deleted file mode 100644 index e67bace72a..0000000000 --- a/v2.8.0/docs/sv-rSE/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperatur
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Altitud  |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Hastighet
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Vind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Strålning                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/sv-rSE/user/widget.html b/v2.8.0/docs/sv-rSE/user/widget.html deleted file mode 100644 index 45beec311c..0000000000 --- a/v2.8.0/docs/sv-rSE/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/android-auto.html b/v2.8.0/docs/tr-rTR/user/android-auto.html deleted file mode 100644 index dedc6eb61c..0000000000 --- a/v2.8.0/docs/tr-rTR/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Genel Bakış
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Mesajlar
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodelar
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/app-functions.html b/v2.8.0/docs/tr-rTR/user/app-functions.html deleted file mode 100644 index d9011f64ab..0000000000 --- a/v2.8.0/docs/tr-rTR/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/connections.html b/v2.8.0/docs/tr-rTR/user/connections.html deleted file mode 100644 index 6f380efe30..0000000000 --- a/v2.8.0/docs/tr-rTR/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Bağlantılar - - - -
# Bağlantılar
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State            | Açıklaması                    |
- ---- | ---------------- | ----------------------------- |
- 🟢   | Bağlandı         | Active radio link established |
- 🟡   | Bağlanıyor       | Handshake in progress         |
- 🔴   | Bağlantı kesildi | No active connection          |
- ⚪    | Not configured   | No device selected            |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/debug-logs.html b/v2.8.0/docs/tr-rTR/user/debug-logs.html deleted file mode 100644 index 9b0e37f0a7..0000000000 --- a/v2.8.0/docs/tr-rTR/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/desktop.html b/v2.8.0/docs/tr-rTR/user/desktop.html deleted file mode 100644 index bdfa8014f1..0000000000 --- a/v2.8.0/docs/tr-rTR/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Notes                                                                                     |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Harita                                       | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Ayarlar                                      | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Firmware Update                              | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/discovery.html b/v2.8.0/docs/tr-rTR/user/discovery.html deleted file mode 100644 index 6b4fa53b3a..0000000000 --- a/v2.8.0/docs/tr-rTR/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Yol izle
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/firmware.html b/v2.8.0/docs/tr-rTR/user/firmware.html deleted file mode 100644 index 68425bd8fb..0000000000 --- a/v2.8.0/docs/tr-rTR/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Kanal      | Açıklaması                                                                 |
- ---------- | -------------------------------------------------------------------------- |
- Stable     | Recommended for most users; tested releases                                |
- Alpha      | Preview releases; may contain bugs                                         |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/help-and-docs.html b/v2.8.0/docs/tr-rTR/user/help-and-docs.html deleted file mode 100644 index 509d176cc9..0000000000 --- a/v2.8.0/docs/tr-rTR/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/map-and-waypoints.html b/v2.8.0/docs/tr-rTR/user/map-and-waypoints.html deleted file mode 100644 index 8b5d16f1b0..0000000000 --- a/v2.8.0/docs/tr-rTR/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Açıklaması                                              |
- ---------- | ------------------------------------------------------- |
- İsmi       | Short identifier (max 29 characters) |
- Açıklaması | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Kilitli    | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/messages-and-channels.html b/v2.8.0/docs/tr-rTR/user/messages-and-channels.html deleted file mode 100644 index d959154fb5..0000000000 --- a/v2.8.0/docs/tr-rTR/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Kanallar
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Açıklaması                                                                                                                             |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Delivered to mesh                   | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Routing via SF++ chain…             | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Confirmed on SF++ chain             | Confirmed delivered via the SF++ chain                                                                                               |
- Hata                                | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Hata             | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route         | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Zaman Aşımı      | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Arayüz Yok       | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Kanal yok        | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- No Response      | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Geçersiz İstek   | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Tip           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/mqtt.html b/v2.8.0/docs/tr-rTR/user/mqtt.html deleted file mode 100644 index 0ed95389c2..0000000000 --- a/v2.8.0/docs/tr-rTR/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Genel Bakış
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Yapılandırma
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | Açıklaması                                                                                    | Varsayılan                                          |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Kullanıcı adı   | Broker authentication                                                                         | meshdev                                             |
- Şifre           | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- Encryption      | Encrypt MQTT payload                                                                          | Açık                                                |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS             | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting   | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Açıklaması                       |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Açıklaması                          | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/node-metrics.html b/v2.8.0/docs/tr-rTR/user/node-metrics.html deleted file mode 100644 index dc4d4a1b57..0000000000 --- a/v2.8.0/docs/tr-rTR/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric          | Açıklaması                          |
- --------------- | ----------------------------------- |
- Battery Level   | Current battery percentage          |
- Voltaj          | Battery voltage reading             |
- Kanal Kullanımı | Percentage of airtime consumed      |
- Airtime         | Transmission time used by this node |
- Çalışma Süresi  | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Sıcaklık                             | BME280, BME680, SHT31 |
- Nem                                  | BME280, BME680, SHT31 |
- Barometrik Basınç                    | BME280, BMP280        |
- Gaz Direnci                          | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Açıklaması                                                                                                                                                                                                                 |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color    |
- -------- | ---------------------------------- | -------- |
- İyi      | < 1000    | Yeşil    |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | Orange   |
- Unsafe   | < 30000   | Kırmızı  |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Açıklaması                                                                     |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality    | Criteria                                                         |
- ---------- | ---------------------------------------------------------------- |
- İyi        | SNR above the preset's limit                                     |
- İdare Eder | less than 5.5 dB below the limit                 |
- Kötü       | 5.5 dB to 7.5 dB below the limit |
- Yok        | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Açıklaması              |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Akım        | Power draw in milliamps |
- Güç         | Calculated wattage      |
-
-## Yol izle
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Konum Kayıtları
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Rakım
-- Speed (if moving)
-- Timestamp for each position report
-
-## Komşu Bilgisi
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/nodes.html b/v2.8.0/docs/tr-rTR/user/nodes.html deleted file mode 100644 index bbf3b88cf0..0000000000 --- a/v2.8.0/docs/tr-rTR/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Nodelar - - - -
# Nodelar
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Rol                              | Açıklaması                                                                                                                                             |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Client                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Tracker                          | Optimized for position reporting at regular intervals                                                                                                  |
- Sensor                           | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Node sil
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filtre                     | Açıklaması                                                                           |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Açıklaması                                                         |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Battery level  | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Son duyulma    | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Mesafe         | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/onboarding.html b/v2.8.0/docs/tr-rTR/user/onboarding.html deleted file mode 100644 index a827889d35..0000000000 --- a/v2.8.0/docs/tr-rTR/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/settings-module-admin.html b/v2.8.0/docs/tr-rTR/user/settings-module-admin.html deleted file mode 100644 index 8340847ea3..0000000000 --- a/v2.8.0/docs/tr-rTR/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | Açıklaması                                                               |
- --------------- | ------------------------------------------------------------------------ |
- Açık            | Toggle MQTT bridge                                                       |
- Sunucu          | MQTT broker address                                                      |
- Kullanıcı adı   | Authentication username                                                  |
- Şifre           | Authentication password                                                  |
- Encryption      | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Açıklaması                      |
- ---------- | ------------------------------- |
- Açık       | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Mod        | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Açıklaması                  |
- -------------------------------- | --------------------------- |
- Açık                             | Activate notifications      |
- Uyarı Mesajı                     | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Aktif                            | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Açıklaması                                                                                                                                       |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Açık                                       | Activate store and forward                                                                                                                       |
- Kalp atışı                                 | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Sunucu                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Açıklaması                        |
- -------------------------------------- | --------------------------------- |
- Açık                                   | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Açıklaması                              |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Açıklaması                                                  |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Mesajlar           | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Açıklaması                       |
- --------------- | -------------------------------- |
- Açık            | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Açıklaması                                                      |
- -------------------- | --------------------------------------------------------------- |
- Açık                 | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Açıklaması                                                                                                                           |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Açık                                   | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Açıklaması                                                 |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Akım               | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Açıklaması                                                                                                                              |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Açık                                     | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Açıklaması                 |
- -------------------------------------- | -------------------------- |
- Açık                                   | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Yönetim
-
-### Uzaktan Yönetim
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Yeniden başlat
-
-Remotely reboot a connected or administered node.
-
-### Hata Ayıklama Paneli
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/settings-radio-user.html b/v2.8.0/docs/tr-rTR/user/settings-radio-user.html deleted file mode 100644 index 53a1a22ad5..0000000000 --- a/v2.8.0/docs/tr-rTR/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Açıklaması                                                                            |
- ----------------- | ------------------------------------------------------------------------------------- |
- Uzun Ad           | Your display name (up to 39 characters)                            |
- Kısa Ad           | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Yapılandırma
-
-### Cihaz Ayarı
-
- Setting                                    | Açıklaması                                                              | Varsayılan |
- ------------------------------------------ | ----------------------------------------------------------------------- | ---------- |
- Rol                                        | Node behavior (Client, Router, etc.) | Client     |
- Rebroadcast Mode                           | How the node retransmits messages                                       | Hepsi      |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800      |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled   |
-
-### LoRa Ayarı
-
- Setting           | Açıklaması                                                              | Varsayılan                                |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Bölge             | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Ön Ayarı    | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limiti        | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Speed                     | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Akran Ayarı
-
- Setting             | Açıklaması                                                                           |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Display Units       | Metric or Imperial                                                                   |
- OLED Tipi           | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Konum Ayarı
-
- Setting                                   | Açıklaması                         |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Smart Position                            | Enable movement-based broadcasting |
- Fixed Position                            | Use a manually set position        |
-
-### Güç Ayarı
-
- Setting                                 | Açıklaması                              |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Ağ Ayarı
-
- Setting       | Açıklaması                                           |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Ağ şifresi                                           |
- NTP Sunucusu  | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Ayarı
-
- Setting           | Açıklaması                                                                |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Sabit PIN         | PIN code for pairing (default: 123456) |
-
-### Güvenlik Ayarı
-
- Setting                   | Açıklaması                                                                                                                                                                                                     |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Genel Anahtar             | Your node's public key (read-only)                                                                                                                                                          |
- Yönetici Anahtarı         | Key for remote administration                                                                                                                                                                                  |
- Özel Anahtar              | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Yönetilen Mod             | Restrict non-admin channel changes                                                                                                                                                                             |
- Anahtarları Yedekle       | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/signal-meter.html b/v2.8.0/docs/tr-rTR/user/signal-meter.html deleted file mode 100644 index dab306b429..0000000000 --- a/v2.8.0/docs/tr-rTR/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
-------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- İyi        | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- İdare Eder | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Kötü       | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Yok        | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/tak.html b/v2.8.0/docs/tr-rTR/user/tak.html deleted file mode 100644 index 4ff3da6a87..0000000000 --- a/v2.8.0/docs/tr-rTR/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Genel Bakış
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Yapılandırma
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Açıklaması                 |
- ------- | -------------------------- |
- Açık    | Activate TAK interop       |
- Mod     | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Rol             | Açıklaması                                                                                                                                                                                                                                                                          |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Açıklaması                                                                                                       |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Özellikler                                                                                                                                                                                                         |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/telemetry-and-sensors.html b/v2.8.0/docs/tr-rTR/user/telemetry-and-sensors.html deleted file mode 100644 index 4fca47f962..0000000000 --- a/v2.8.0/docs/tr-rTR/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Genel Bakış
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric             | Açıklaması                     | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- Voltaj             | Battery voltage                | 3.0–4.2V (LiPo) |
- Kanal Kullanımı    | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- Çalışma Süresi     | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor  | Sıcaklık | Nem | Basınç | Notes                   |
- ------- | -------- | --- | ------ | ----------------------- |
- BME280  | ✓        | ✓   | ✓      | Recommended all-in-one  |
- BME680  | ✓        | ✓   | ✓      | Adds gas resistance/IAQ |
- SHT31   | ✓        | ✓   | —      | High accuracy           |
- MCP9808 | ✓        | —   | —      | Precision temperature   |
- LPS22   | —        | —   | ✓      | Pressure only           |
-
-### Air Quality
-
- Sensor   | Metric                                             | Notes                      |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Sensor   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Açıklaması                                |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Akım        | Power consumption (mA) |
- Güç         | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Açıklaması                   |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/translate.html b/v2.8.0/docs/tr-rTR/user/translate.html deleted file mode 100644 index 60d6131a0f..0000000000 --- a/v2.8.0/docs/tr-rTR/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Meshtastic'in erişimini genişletmemize yardımcı olduğunuz için teşekkür ederiz!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/units-and-locale.html b/v2.8.0/docs/tr-rTR/user/units-and-locale.html deleted file mode 100644 index 61b909be6b..0000000000 --- a/v2.8.0/docs/tr-rTR/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Sıcaklık
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Rakım    |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Rüzgar
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Radyasyon                        | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/tr-rTR/user/widget.html b/v2.8.0/docs/tr-rTR/user/widget.html deleted file mode 100644 index 36f3516f31..0000000000 --- a/v2.8.0/docs/tr-rTR/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/android-auto.html b/v2.8.0/docs/uk-rUA/user/android-auto.html deleted file mode 100644 index 91097e66ca..0000000000 --- a/v2.8.0/docs/uk-rUA/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Повідомлення
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Вузли
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/app-functions.html b/v2.8.0/docs/uk-rUA/user/app-functions.html deleted file mode 100644 index c977e18bf5..0000000000 --- a/v2.8.0/docs/uk-rUA/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/connections.html b/v2.8.0/docs/uk-rUA/user/connections.html deleted file mode 100644 index 0b620ce2e1..0000000000 --- a/v2.8.0/docs/uk-rUA/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State          | Опис                          |
- ---- | -------------- | ----------------------------- |
- 🟢   | Під’єднано     | Active radio link established |
- 🟡   | Під’єднання    | Handshake in progress         |
- 🔴   | Відключено     | No active connection          |
- ⚪    | Not configured | Не вибраний пристрій          |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/debug-logs.html b/v2.8.0/docs/uk-rUA/user/debug-logs.html deleted file mode 100644 index 1895f67e6c..0000000000 --- a/v2.8.0/docs/uk-rUA/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/desktop.html b/v2.8.0/docs/uk-rUA/user/desktop.html deleted file mode 100644 index 7fd525abbb..0000000000 --- a/v2.8.0/docs/uk-rUA/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | Нотатки                                                                                   |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- Мапа                                         | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- Налаштування                                 | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- Оновити прошивку                             | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | Open Settings          |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/discovery.html b/v2.8.0/docs/uk-rUA/user/discovery.html deleted file mode 100644 index cd4acdec0c..0000000000 --- a/v2.8.0/docs/uk-rUA/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric                                   | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- Channel utilization                      | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Маршрут
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/firmware.html b/v2.8.0/docs/uk-rUA/user/firmware.html deleted file mode 100644 index 518eacca4b..0000000000 --- a/v2.8.0/docs/uk-rUA/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Канал     | Опис                                                                       |
- --------- | -------------------------------------------------------------------------- |
- Стабільна | Recommended for most users; tested releases                                |
- Альфа     | Preview releases; may contain bugs                                         |
- Файл      | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/help-and-docs.html b/v2.8.0/docs/uk-rUA/user/help-and-docs.html deleted file mode 100644 index 74a0d5498f..0000000000 --- a/v2.8.0/docs/uk-rUA/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/map-and-waypoints.html b/v2.8.0/docs/uk-rUA/user/map-and-waypoints.html deleted file mode 100644 index 73f62870b2..0000000000 --- a/v2.8.0/docs/uk-rUA/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | Опис                                                    |
- ---------- | ------------------------------------------------------- |
- Ім'я       | Short identifier (max 29 characters) |
- Опис       | Optional longer description                             |
- Icon       | Visual marker emoji on the map                          |
- Блоковано  | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- Geofence   | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Шари мапи
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/messages-and-channels.html b/v2.8.0/docs/uk-rUA/user/messages-and-channels.html deleted file mode 100644 index 66f92595dd..0000000000 --- a/v2.8.0/docs/uk-rUA/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Канали
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Безпека каналу
-
-Channels support multiple encryption levels:
-
- Icon | Security Level                       | Опис                                                                                                                                   |
- ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒   | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐   | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓   | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️   | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- Доставлено в мережу                 | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- Маршрутизація через SF++ ланцюжок…  | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- Підтверджений на ланцюжку SF++      | Confirmed delivered via the SF++ chain                                                                                               |
- Error                               | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Error               | Meaning                                  | What to Do                                                                                                                                                                  |
- ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- No Route            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK             | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- Таймаут             | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- Інтерфейс відсутній | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit      | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- Канал відсутній     | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large           | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- Немає відповіді     | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit    | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Невірний запит      | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Тип           | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/mqtt.html b/v2.8.0/docs/uk-rUA/user/mqtt.html deleted file mode 100644 index b5a20e65cc..0000000000 --- a/v2.8.0/docs/uk-rUA/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Налаштування
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting          | Опис                                                                                          | За замовчуванням                                    |
- ---------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address   | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- Ім'я користувача | Broker authentication                                                                         | meshdev                                             |
- Пароль           | Broker authentication                                                                         | large4cats                                          |
- Root Topic       | Base topic for messages                                                                       | msh                                                 |
- Шифрування       | Encrypt MQTT payload                                                                          | Увімкнено                                           |
- ~~JSON Output~~  | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled                                            |
- TLS              | Secure connection to broker                                                                   | Disabled                                            |
- Map Reporting    | Report position to public map                                                                 | Disabled                                            |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | Опис                             |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | Опис                                | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/node-metrics.html b/v2.8.0/docs/uk-rUA/user/node-metrics.html deleted file mode 100644 index 8a101dbd8d..0000000000 --- a/v2.8.0/docs/uk-rUA/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Показники пристрою
-
-Basic operating information reported by each node:
-
- Metric              | Опис                                |
- ------------------- | ----------------------------------- |
- Battery Level       | Current battery percentage          |
- Напруга             | Battery voltage reading             |
- Channel Utilization | Percentage of airtime consumed      |
- Airtime             | Transmission time used by this node |
- Час роботи          | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Показники довкілля
-
-Environmental sensor data (requires compatible hardware):
-
- Metric                               | Sensor Examples       |
- ------------------------------------ | --------------------- |
- Температура                          | BME280, BME680, SHT31 |
- Вологість                            | BME280, BME680, SHT31 |
- Атмосферний тиск                     | BME280, BMP280        |
- Опір газового сенсора                | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric                | Unit      | Опис                                                                                                                                                                                                                       |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | Color        |
- -------- | ---------------------------------- | ------------ |
- Хороший  | < 1000    | Зелений      |
- Stuffy   | < 2000    | Amber        |
- Poor     | < 5000    | Помаранчевий |
- Unsafe   | < 30000   | Червоний     |
- Evacuate | ≥ 30000                            | Dark red     |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric      | Опис                                                                           |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality     | Criteria                                                         |
- ----------- | ---------------------------------------------------------------- |
- Хороший     | SNR above the preset's limit                                     |
- Задовільний | less than 5.5 dB below the limit                 |
- Поганий     | 5.5 dB to 7.5 dB below the limit |
- Жоден       | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Показники живлення
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric      | Опис                    |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- Поточний    | Power draw in milliamps |
- Живлення    | Calculated wattage      |
-
-## Маршрут
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- Висота
-- Speed (if moving)
-- Timestamp for each position report
-
-## Інформація про сусідів
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/nodes.html b/v2.8.0/docs/uk-rUA/user/nodes.html deleted file mode 100644 index 9236229569..0000000000 --- a/v2.8.0/docs/uk-rUA/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Вузли - - - -
# Вузли
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Роль                             | Опис                                                                                                                                                   |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- Клієнт                           | Standard end-user device                                                                                                                               |
- Client Base                      | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Трекер                           | Optimized for position reporting at regular intervals                                                                                                  |
- Датчик                           | Optimized for telemetry reporting                                                                                                                      |
- ТАК                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Фільтри                    | Опис                                                                                 |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | Опис                                                               |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Стрибків**                                | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator             | Screenshot                                                    |
- --------------------- | ------------------------------------------------------------- |
- Signal quality        | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- Рівень заряду батареї | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count             | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- Востаннє в мережі     | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- Відстань              | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/onboarding.html b/v2.8.0/docs/uk-rUA/user/onboarding.html deleted file mode 100644 index b556baf983..0000000000 --- a/v2.8.0/docs/uk-rUA/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/settings-module-admin.html b/v2.8.0/docs/uk-rUA/user/settings-module-admin.html deleted file mode 100644 index b6350c6eea..0000000000 --- a/v2.8.0/docs/uk-rUA/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting          | Опис                                                                     |
- ---------------- | ------------------------------------------------------------------------ |
- Увімкнено        | Toggle MQTT bridge                                                       |
- Сервер           | MQTT broker address                                                      |
- Ім'я користувача | Authentication username                                                  |
- Пароль           | Authentication password                                                  |
- Шифрування       | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~  | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS              | Use secure connection                                                    |
- Root Topic       | Base MQTT topic path                                                     |
- Map Report       | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | Опис                            |
- ---------- | ------------------------------- |
- Увімкнено  | Activate serial communication   |
- Echo       | Echo received serial data back  |
- Режим      | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate  | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | Опис                        |
- -------------------------------- | --------------------------- |
- Увімкнено                        | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | Опис                                                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Увімкнено                                  | Activate store and forward                                                                                                                       |
- Пульсація                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- Сервер                                     | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | Опис                              |
- -------------------------------------- | --------------------------------- |
- Увімкнено                              | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | Опис                                    |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled          | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | Опис                                                        |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Повідомлення       | Newline-separated list of messages                          |
- Send Bell          | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | Опис                             |
- --------------- | -------------------------------- |
- Увімкнено       | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | Опис                                                            |
- -------------------- | --------------------------------------------------------------- |
- Увімкнено            | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | Опис                                                                                                                                 |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Увімкнено                              | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | Опис                                                       |
- ------------------ | ---------------------------------------------------------- |
- LED State          | Turn the LED on or off                                     |
- Поточний           | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | Опис                                                                                                                                    |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Увімкнено                                | Activate detection sensor                                                                                                               |
- Monitor Pin                              | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- Send Bell                                | Include bell character in alerts                                                                                                        |
- Friendly Name                            | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | Опис                       |
- -------------------------------------- | -------------------------- |
- Увімкнено                              | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Адміністрування
-
-### Віддалене керування
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Очистити базу даних вузлів
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Перевантажити
-
-Remotely reboot a connected or administered node.
-
-### Панель налагодження
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/settings-radio-user.html b/v2.8.0/docs/uk-rUA/user/settings-radio-user.html deleted file mode 100644 index 238f3d0398..0000000000 --- a/v2.8.0/docs/uk-rUA/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting           | Опис                                                                                  |
- ----------------- | ------------------------------------------------------------------------------------- |
- Довга назва       | Your display name (up to 39 characters)                            |
- Коротка назва     | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Налаштування
-
-### Налаштування пристрою
-
- Setting                                    | Опис                                                                    | За замовчуванням |
- ------------------------------------------ | ----------------------------------------------------------------------- | ---------------- |
- Роль                                       | Node behavior (Client, Router, etc.) | Клієнт           |
- Режим ретрансляції                         | How the node retransmits messages                                       | Усі              |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800            |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled         |
-
-### Налаштування LoRa
-
- Setting           | Опис                                                                    | За замовчуванням                          |
- ----------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- Регіон            | Regulatory region for frequency bands                                   | Unset (must configure) |
- Modem Preset      | Speed/range tradeoff                                                    | LongFast                                  |
- Hop Limit         | Maximum retransmit hops                                                 | 3                                         |
- TX Power          | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- Frequency Offset  | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | Швидкість                 | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Налаштування дисплею
-
- Setting             | Опис                                                                                 |
- ------------------- | ------------------------------------------------------------------------------------ |
- Screen Timeout      | Time before display sleeps                                                           |
- Одиниці виміру      | Metric or Imperial                                                                   |
- Тип OLED            | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting                                   | Опис                               |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS Update Interval                       | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- Інтелектуальне передавання позиції        | Enable movement-based broadcasting |
- Фіксована позиція                         | Use a manually set position        |
-
-### Налаштування живлення
-
- Setting                                 | Опис                                    |
- --------------------------------------- | --------------------------------------- |
- Power Saving                            | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### Налаштування мережі
-
- Setting       | Опис                                                 |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | Network password                                     |
- NTP-сервер    | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Налаштування Bluetooth
-
- Setting           | Опис                                                                      |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- Pairing Mode      | Fixed PIN, Random PIN, or No PIN                                          |
- Фіксований PIN    | PIN code for pairing (default: 123456) |
-
-### Налаштування безпеки
-
- Setting                   | Опис                                                                                                                                                                                                           |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- Відкритий ключ            | Your node's public key (read-only)                                                                                                                                                          |
- Ключ адміністратора       | Key for remote administration                                                                                                                                                                                  |
- Приватний ключ            | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- Керований режим           | Restrict non-admin channel changes                                                                                                                                                                             |
- Резервні ключі            | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/signal-meter.html b/v2.8.0/docs/uk-rUA/user/signal-meter.html deleted file mode 100644 index 554b2ab4a6..0000000000 --- a/v2.8.0/docs/uk-rUA/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- Хороший     | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- Задовільний | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- Поганий     | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- Жоден       | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/tak.html b/v2.8.0/docs/uk-rUA/user/tak.html deleted file mode 100644 index 8af2fe5c59..0000000000 --- a/v2.8.0/docs/uk-rUA/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Налаштування
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting   | Опис                       |
- --------- | -------------------------- |
- Увімкнено | Activate TAK interop       |
- Режим     | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Роль            | Опис                                                                                                                                                                                                                                                                                |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting     | Опис                                                                                                             |
- ----------- | ---------------------------------------------------------------------------------------------------------------- |
- Team Color  | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | Features                                                                                                                                                                                                           |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/telemetry-and-sensors.html b/v2.8.0/docs/uk-rUA/user/telemetry-and-sensors.html deleted file mode 100644 index 9a22d6100c..0000000000 --- a/v2.8.0/docs/uk-rUA/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Телеметрія і сенсори - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric              | Опис                           | Typical Range                                                      |
- ------------------- | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level       | Charge percentage              | 0–100%                                                             |
- Напруга             | Battery voltage                | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX  | % of airtime used by this node | 0–100%                                                             |
- Час роботи          | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Датчик  | Температура | Вологість | Атмосферний тиск | Нотатки                 |
- ------- | ----------- | --------- | ---------------- | ----------------------- |
- BME280  | ✓           | ✓         | ✓                | Recommended all-in-one  |
- BME680  | ✓           | ✓         | ✓                | Adds gas resistance/IAQ |
- SHT31   | ✓           | ✓         | —                | High accuracy           |
- MCP9808 | ✓           | —         | —                | Precision temperature   |
- LPS22   | —           | —         | ✓                | Pressure only           |
-
-### Air Quality
-
- Датчик   | Metric                                             | Нотатки                    |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- Датчик   | Metric                                 |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## Показники живлення
-
-Nodes with INA-series power sensors can report:
-
- Metric      | Опис                                      |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- Поточний    | Power consumption (mA) |
- Живлення    | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric                | Unit  | Опис                         |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/translate.html b/v2.8.0/docs/uk-rUA/user/translate.html deleted file mode 100644 index a2b476d6d3..0000000000 --- a/v2.8.0/docs/uk-rUA/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/units-and-locale.html b/v2.8.0/docs/uk-rUA/user/units-and-locale.html deleted file mode 100644 index a0321e27ca..0000000000 --- a/v2.8.0/docs/uk-rUA/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Температура
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | Висота   |
- -------------------------------- | -------------- | ---------------------- | -------- |
- Metric                           | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Швидкість
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## Вітер
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- Metric                           | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- Metric                           | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- Радіація                         | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/uk-rUA/user/widget.html b/v2.8.0/docs/uk-rUA/user/widget.html deleted file mode 100644 index 6224e3bcb7..0000000000 --- a/v2.8.0/docs/uk-rUA/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/android-auto.html b/v2.8.0/docs/user/android-auto.html deleted file mode 100644 index a52eb506f6..0000000000 --- a/v2.8.0/docs/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## Overview
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## Messages
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## Nodes
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/app-functions.html b/v2.8.0/docs/user/app-functions.html deleted file mode 100644 index 77c5f585a1..0000000000 --- a/v2.8.0/docs/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the *system* AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle *"Let system AI assistants (e.g. Gemini) discover and use mesh functions"*. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function | What it does |
-----------|--------------|
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function | What it returns |
-----------|-----------------|
- **Get Mesh Status** | Overall mesh status. |
- **Get Node List** | The list of nodes on your mesh. |
- **Get Channel Info** | Information about your channels. |
- **Get Device Status** | Status of your connected radio. |
- **Get Node Details** | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations. |
- **Get Unread Summary** | A summary of unread messages. |
- **Get Mesh Metrics** | Telemetry and metrics from your mesh. |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/connections.html b/v2.8.0/docs/user/connections.html deleted file mode 100644 index 9d9e8e0471..0000000000 --- a/v2.8.0/docs/user/connections.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Connections - - - -
# Connections
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- Icon | State | Description |
-------|-------|-------------|
- 🟢 | Connected | Active radio link established |
- 🟡 | Connecting | Handshake in progress |
- 🔴 | Disconnected | No active connection |
- ⚪ | Not configured | No device selected |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/debug-logs.html b/v2.8.0/docs/user/debug-logs.html deleted file mode 100644 index 0c62152c33..0000000000 --- a/v2.8.0/docs/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android *logcat*), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/desktop.html b/v2.8.0/docs/user/desktop.html deleted file mode 100644 index e6242b10e1..0000000000 --- a/v2.8.0/docs/user/desktop.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## Installation
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature | Android | Desktop | Notes |
----------|---------|---------|-------|
- Messaging | ✓ | ✓ | Full parity |
- Node List | ✓ | ✓ | Full parity |
- Map | ✓ | ◐ | Map tab exists on desktop, but the interactive map view is Android-only |
- Settings | ✓ | ✓ | Full parity |
- Bluetooth (BLE) | ✓ | ✓ | Via Kable on desktop |
- Firmware Update | ✓ | ✓ | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications | ✓ | ✓ | Native OS notifications |
- Widgets | ✓ | ✗ | Android-only |
- Android Auto | ✓ | ✗ | Android-only — not available on Desktop or iOS |
- AI Assistant (Chirpy) | ✓* | ✗ | Google flavor Android only |
- App Functions (system AI) | ✓† | ✗ | Google flavor Android only |
-
-*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut | Action |
-----------|--------|
- **⌘/Ctrl+Q** | Quit the application |
- **⌘/Ctrl+,** | Open Settings |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab |
- **⌘/Ctrl+3** | Switch to Map tab |
- **⌘/Ctrl+4** | Switch to Connect tab |
- **⌘/Ctrl+/** | Open About |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/discovery.html b/v2.8.0/docs/user/discovery.html deleted file mode 100644 index 4c18544263..0000000000 --- a/v2.8.0/docs/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Discovery - - - -
# Discovery
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------|-------------|
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn. |
- **Dwell time** | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake** | Optional toggle that prevents the screen from sleeping during a long scan. |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage | What's happening |
--------|------------------|
- **Preparing** | Saving your current configuration and getting ready to scan. |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test. |
- **Reconnecting** | Re-establishing the connection after the preset change. |
- **Dwell** | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis** | Processing the collected packets and ranking the presets. |
- **Restoring** | Putting your original LoRa configuration back. |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- Metric | What it tells you |
---------|-------------------|
- RF health | Overall quality of the radio environment on that preset. |
- Channel utilization | How busy the airwaves were during the dwell. |
- Airtime | Transmission time observed. |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay. |
- Bad / duplicate packets | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## Traceroute
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for | What it means |
-------------------|---------------|
- All hops show Good SNR (≥ −7 dB, green) | Healthy path — messages flow reliably |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile |
- Many hops (4+) | Long path — consider repositioning a node to shorten it |
- Different path on retry | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/firmware.html b/v2.8.0/docs/user/firmware.html deleted file mode 100644 index 295afa293d..0000000000 --- a/v2.8.0/docs/user/firmware.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Firmware Updates - - - -
# Firmware Updates
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- Channel | Description |
----------|-------------|
- Stable | Recommended for most users; tested releases |
- Alpha | Preview releases; may contain bugs |
- Local File | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## Troubleshooting
-
-### Update Stuck
-
-If the update appears frozen:
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/help-and-docs.html b/v2.8.0/docs/user/help-and-docs.html deleted file mode 100644 index 9b2d711df4..0000000000 --- a/v2.8.0/docs/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/map-and-waypoints.html b/v2.8.0/docs/user/map-and-waypoints.html deleted file mode 100644 index 8bf0d4aced..0000000000 --- a/v2.8.0/docs/user/map-and-waypoints.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property | Description |
-----------|-------------|
- Name | Short identifier (max 29 characters) |
- Description | Optional longer description |
- Icon | Visual marker emoji on the map |
- Locked | If locked, only the creator can edit or delete |
- Expiration | Optional auto-remove date and time |
- Geofence | Optional enter/exit alert area — see below |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## Map Layers
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/messages-and-channels.html b/v2.8.0/docs/user/messages-and-channels.html deleted file mode 100644 index cce2a801be..0000000000 --- a/v2.8.0/docs/user/messages-and-channels.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## Channels
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### Channel Security
-
-Channels support multiple encryption levels:
-
- Icon | Security Level | Description |
-------|----------------|-------------|
- 🔒 | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages. |
- 🔐 | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data. |
- 🔓 | Default / Open | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️ | Insecure + Position | Open channel that also broadcasts your GPS position. Use with caution in public meshes. |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## Direct Messages
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State | Meaning |
--------|---------|
- Sending… | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient | The strongest confirmation for a direct message — an acknowledgment came back |
- Delivered to mesh | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack) |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet |
- Routing via SF++ chain… | Being routed/buffered by the Store & Forward Plus Plus chain |
- Confirmed on SF++ chain | Confirmed delivered via the SF++ chain |
- Error | Delivery failed — tap the status for the specific reason (see Delivery Errors below) |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- Error | Meaning | What to Do |
--------|---------|------------|
- No Route | No path exists to the destination node | The recipient may be offline or out of mesh range. Try later or move closer. |
- Got NAK | The next-hop node refused to relay | The relay node may be congested. Wait and retry. |
- Timeout | No acknowledgment within retry window | The recipient may be just out of range. Try increasing hop limit or moving to a better position. |
- No Interface | No radio interface available to send | Check that your radio is connected and the channel is configured. |
- Max Retransmit | All retry attempts exhausted | The mesh path is unreliable. Try a different channel or wait for conditions to improve. |
- No Channel | The destination channel doesn't exist | Verify both nodes share the same channel configuration. |
- Too Large | Message exceeds maximum payload size | Shorten your message (max ~200 characters). |
- No Response | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode. |
- Duty Cycle Limit | Regional airtime limit reached | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- Bad Request | Malformed or invalid message | This usually indicates a software bug. Try restarting the app. |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- Type | Syntax | Renders as |
-------|--------|------------|
- Bold | `**bold**` | **bold** |
- Italic | `*italic*` | *italic* |
- Strikethrough | `~~strike~~` | ~~strike~~ |
- Inline code | `` `code` `` | monospace `code` |
- Link | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/mqtt.html b/v2.8.0/docs/user/mqtt.html deleted file mode 100644 index 400b057866..0000000000 --- a/v2.8.0/docs/user/mqtt.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## Overview
-
-The MQTT module connects your node to an MQTT broker, allowing:
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Description | Default |
----------|-------------|---------|
- Server Address | MQTT broker hostname | mqtt.meshtastic.org |
- Username | Broker authentication | meshdev |
- Password | Broker authentication | large4cats |
- Root Topic | Base topic for messages | msh |
- Encryption | Encrypt MQTT payload | Enabled |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | Disabled |
- TLS | Secure connection to broker | Disabled |
- Map Reporting | Report position to public map | Disabled |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction | Description |
------------|-------------|
- **Uplink** | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format | Description | Use case |
---------|-------------|----------|
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh *before* MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## Troubleshooting
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/node-metrics.html b/v2.8.0/docs/user/node-metrics.html deleted file mode 100644 index 952cb01ef6..0000000000 --- a/v2.8.0/docs/user/node-metrics.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## Device Metrics
-
-Basic operating information reported by each node:
-
- Metric | Description |
---------|-------------|
- Battery Level | Current battery percentage |
- Voltage | Battery voltage reading |
- Channel Utilization | Percentage of airtime consumed |
- Airtime | Transmission time used by this node |
- Uptime | Time since last reboot |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## Environment Metrics
-
-Environmental sensor data (requires compatible hardware):
-
- Metric | Sensor Examples |
---------|-----------------|
- Temperature | BME280, BME680, SHT31 |
- Humidity | BME280, BME680, SHT31 |
- Barometric Pressure | BME280, BMP280 |
- Gas Resistance | BME680 |
- IAQ (Air Quality) | BME680 |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from *Excellent* to *Dangerously Polluted*:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- Metric | Unit | Description |
---------|------|-------------|
- PM1.0 | µg/m³ | Particulate matter up to 1.0 micron |
- PM2.5 | µg/m³ | Particulate matter up to 2.5 microns |
- PM10 | µg/m³ | Particulate matter up to 10 microns |
- AQI | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂ | ppm | Carbon dioxide concentration |
- CO₂ temperature | °C / °F | Temperature reported by the CO₂ sensor itself (e.g. SCD4x) |
- CO₂ humidity | % | Relative humidity reported by the CO₂ sensor |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band | CO₂ Range (ppm) | Color |
-------|-----------------|-------|
- Good | < 1000 | Green |
- Stuffy | < 2000 | Amber |
- Poor | < 5000 | Orange |
- Unsafe | < 30000 | Red |
- Evacuate | ≥ 30000 | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- Metric | Description |
---------|-------------|
- SNR | Signal-to-Noise Ratio (higher is better) |
- RSSI | Received Signal Strength Indicator (closer to 0 is better) |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count | Number of mesh hops for last message |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria |
----------|----------|
- Good | SNR above the preset's limit |
- Fair | less than 5.5 dB below the limit |
- Bad | 5.5 dB to 7.5 dB below the limit |
- None | more than 7.5 dB below the limit |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## Power Metrics
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- Metric | Description |
---------|-------------|
- Bus Voltage | Supply voltage |
- Current | Power draw in milliamps |
- Power | Calculated wattage |
-
-## Traceroute
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## Position Log
-
-Historical position data for nodes that share their location:
-- GPS coordinates
-- Altitude
-- Speed (if moving)
-- Timestamp for each position report
-
-## Neighbor Info
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/nodes.html b/v2.8.0/docs/user/nodes.html deleted file mode 100644 index 4fd7b5eb7c..0000000000 --- a/v2.8.0/docs/user/nodes.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Nodes - - - -
# Nodes
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge | Meaning |
--------|---------|
- 🟢 Online | Node heard within the last 2 hours |
- ⚪ Offline | Node not heard for over 2 hours |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- Role | Description |
-------|-------------|
- Client | Standard end-user device |
- Client Base | Treats favorited-node traffic as Router Late priority; all other traffic as Client |
- Client Mute | Receives but doesn't retransmit |
- Client Hidden | Like Client Mute, plus hides from node list |
- Router | Prioritizes message forwarding; stays awake to relay |
- Router Late | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage) |
- ~~Router Client~~ | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~ | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead |
- Tracker | Optimized for position reporting at regular intervals |
- Sensor | Optimized for telemetry reporting |
- TAK | Interoperates with TAK systems (sends/receives CoT) |
- TAK Tracker | TAK position reporting only |
- Lost & Found | Continuous position beacon for recovery |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon | Meaning |
-------|---------|
- 🔒 Locked | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting) |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - Remove node
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- Filter | Description |
---------|-------------|
- **Only online** | Show only nodes heard within the last 2 hours |
- **Only direct** | Show only nodes with direct (non-relayed) connections |
- **Include unknown** | Show nodes that haven't sent user info yet |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT** | Hide nodes heard only via MQTT internet bridge |
- **Show ignored** | Show nodes you've previously dismissed or muted |
-
-### Sort Options
-
- Sort | Description |
-------|-------------|
- **Last heard** (default) | Most recently heard nodes first |
- **Alphabetical** | Sorted by node long name |
- **Distance** | Nearest nodes first (requires position sharing) |
- **Hops away** | Fewest relay hops first |
- **Channel** | Grouped by channel index |
- **Via MQTT** | Grouped by MQTT vs. radio-heard |
- **Favorites** | Favorited nodes first |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator | Screenshot |
------------|------------|
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png) |
- Battery level | ![Battery](../../assets/screenshots/nodes_battery_info.png) |
- Hop count | ![Hops](../../assets/screenshots/nodes_hops_info.png) |
- Last heard | ![Last heard](../../assets/screenshots/nodes_last_heard.png) |
- Distance | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/onboarding.html b/v2.8.0/docs/user/onboarding.html deleted file mode 100644 index 88551b4974..0000000000 --- a/v2.8.0/docs/user/onboarding.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/settings-module-admin.html b/v2.8.0/docs/user/settings-module-admin.html deleted file mode 100644 index d11f92d5bc..0000000000 --- a/v2.8.0/docs/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## Module Configuration
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting | Description |
----------|-------------|
- Enabled | Toggle MQTT bridge |
- Server | MQTT broker address |
- Username | Authentication username |
- Password | Authentication password |
- Encryption | Encrypt MQTT payloads |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS | Use secure connection |
- Root Topic | Base MQTT topic path |
- Map Report | Publish position for public map |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate serial communication |
- Echo | Echo received serial data back |
- Mode | Text, Protobuf, or NMEA output |
- RX/TX Pins | GPIO pins for serial connection |
- Baud Rate | Serial communication speed |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate notifications |
- Alert Message | Notify on incoming messages |
- Alert Message Buzzer | Use buzzer for messages |
- Alert Message Vibra | Use vibration for messages |
- Alert Bell | Notify on bell character |
- Output (GPIO) | Pin for notification output |
- Active | High or Low active |
- Duration (ms) | Notification length |
- Use I2S as Buzzer | Use I2S audio output |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate store and forward |
- Heartbeat | Periodically announce this node's store-and-forward capability |
- Records | Maximum stored messages |
- History Return (max) | Max messages to replay |
- History Return (window) | Time window for replay |
- Server | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate range testing |
- Sender Interval (s) | Time between test transmissions |
- Save CSV | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting | Description |
----------|-------------|
- Device Metrics Interval | How often to report device metrics |
- Environment Metrics Interval | How often to report environment sensors |
- Air Quality Enabled | Report particulate sensor data |
- Power Metrics Enabled | Report power usage |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting | Description |
----------|-------------|
- ~~Enabled~~ | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- Messages | Newline-separated list of messages |
- Send Bell | Play bell sound on send |
- Rotary Encoder | Enable rotary encoder input |
- Up/Down/Press Pins | GPIO pin assignments for input |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate audio module |
- Codec2 Rate | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS |
- I2S Data In | GPIO pin for I2S DIN |
- I2S Data Out | GPIO pin for I2S DOUT |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate remote GPIO access |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins | Up to 4 GPIO pins this node exposes for remote read/write |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate neighbor broadcasting |
- Update Interval (s) | How often to broadcast neighbor list |
- Transmit Over LoRa | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting | Description |
----------|-------------|
- LED State | Turn the LED on or off |
- Current | LED current limit (0–31) |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate detection sensor |
- Monitor Pin | GPIO pin connected to sensor |
- Detection Trigger Type | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode | Enable the pin's internal pull-up resistor |
- Minimum Broadcast (s) | Minimum time between alert broadcasts |
- State Broadcast (s) | Periodic state broadcast interval |
- Send Bell | Include bell character in alerts |
- Friendly Name | Custom name for this sensor |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting | Description |
----------|-------------|
- Enabled | Activate people counting |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## Administration
-
-### Remote Administration
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### Clean Node Database
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### Reboot
-
-Remotely reboot a connected or administered node.
-
-### Debug Panel
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/settings-radio-user.html b/v2.8.0/docs/user/settings-radio-user.html deleted file mode 100644 index fdb4e9f3ec..0000000000 --- a/v2.8.0/docs/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## User Settings
-
-### User Profile
-
- Setting | Description |
----------|-------------|
- Long Name | Your display name (up to 39 characters) |
- Short Name | 4-character abbreviated name |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### Device Config
-
- Setting | Description | Default |
----------|-------------|---------|
- Role | Node behavior (Client, Router, etc.) | Client |
- Rebroadcast Mode | How the node retransmits messages | All |
- Node Info Broadcast (s) | Interval for broadcasting node info | 10800 |
- Double-tap Button | Action for double-tap button press | Disabled |
-
-### LoRa Config
-
- Setting | Description | Default |
----------|-------------|---------|
- Region | Regulatory region for frequency bands | Unset (must configure) |
- Modem Preset | Speed/range tradeoff | LongFast |
- Hop Limit | Maximum retransmit hops | 3 |
- TX Power | Transmission power (dBm); 0 = max allowed for region | 0 (region max) |
- Frequency Offset | Fine-tune frequency (MHz) | 0 |
- Channel Bandwidth | Bandwidth setting | Default for preset |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals *below* the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset | Range | Speed | SNR Limit | Best For |
---------|-------|-------|-----------|----------|
- Short Turbo | ~1 km | 21.9 kbps | −7.5 dB | Dense urban with line-of-sight; data-heavy applications |
- Short Fast | ~3 km | 10.9 kbps | −7.5 dB | Urban neighborhoods; buildings within a few blocks |
- Short Slow | ~5 km | 5.5 kbps | −10 dB | Suburban short-range; moderate building density |
- Medium Fast | ~5 km | 5.5 kbps | −12.5 dB | Suburban areas; moderate building density |
- Medium Slow | ~8 km | 1.1 kbps | −15 dB | Suburban/rural; moderate range with slower speed |
- Long Turbo | ~10 km | 4.4 kbps | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput |
- Long Fast | ~10 km | 1.1 kbps | −17.5 dB | **General use (default)** — balanced range and speed |
- Long Moderate | ~20 km | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use |
- Lite Fast | ~5 km | 5.5 kbps | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast |
- Lite Slow | ~10 km | 1.1 kbps | −15 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast |
- Narrow Fast | ~5 km | 2.7 kbps | −10 dB | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow | ~10 km | 1.1 kbps | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast |
- ~~Long Slow~~ | ~30 km | 0.18 kbps | −20 dB | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### Display Config
-
- Setting | Description |
----------|-------------|
- Screen Timeout | Time before display sleeps |
- Display Units | Metric or Imperial |
- OLED Type | Auto, SSD1306, SH1106, SH1107 |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°) |
- ~~Compass North~~ | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### Position Config
-
- Setting | Description |
----------|-------------|
- GPS Enabled | Enable/disable GPS |
- GPS Update Interval | How often to acquire GPS fix |
- Position Broadcast (s) | How often to share position |
- Smart Position | Enable movement-based broadcasting |
- Fixed Position | Use a manually set position |
-
-### Power Config
-
- Setting | Description |
----------|-------------|
- Power Saving | Enable low-power sleep mode |
- Shutdown After (s) | Auto-shutdown idle timer |
- ADC Multiplier | Battery voltage calibration factor |
- Wait Bluetooth (s) | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout |
-
-### Network Config
-
- Setting | Description |
----------|-------------|
- WiFi Enabled | Enable WiFi radio (ESP32 devices) |
- WiFi SSID | Network name to connect to |
- WiFi PSK | Network password |
- NTP Server | Time synchronization server |
- Syslog Server | Remote logging server |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### Bluetooth Config
-
- Setting | Description |
----------|-------------|
- Bluetooth Enabled | Enable/disable BLE radio |
- Pairing Mode | Fixed PIN, Random PIN, or No PIN |
- Fixed PIN | PIN code for pairing (default: 123456) |
-
-### Security Config
-
- Setting | Description |
----------|-------------|
- Public Key | Your node's public key (read-only) |
- Admin Key | Key for remote administration |
- Private Key | Your node's private key (handle securely) |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set |
- Debug Log | Output live debug logging over serial/bluetooth | 
- Serial Enabled | Enable serial console access (moved from Device Config) |
- Managed Mode | Restrict non-admin channel changes |
- Backup Keys | Save an encrypted backup of the node's keys on this device (Android only) |
- Restore Keys | Write the backed-up keys back to the node (available once a backup exists) |
- Delete Key Backup | Remove the stored key backup from this device |
- Protection Level | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control | Screenshot |
----------|------------|
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle | ![Toggle](../../assets/screenshots/settings_switch.png) |
- Slider | ![Slider](../../assets/screenshots/settings_slider.png) |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/signal-meter.html b/v2.8.0/docs/user/signal-meter.html deleted file mode 100644 index 5c745ca4c2..0000000000 --- a/v2.8.0/docs/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep *underneath* the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
-----|------|----------|---------|
- Good | 3 | SNR **above** the preset's `limit` | Signal is comfortably above the demodulation floor — healthy connection. |
- Fair | 2 | less than `5.5 dB` below the `limit` | Decodable, but getting close to the floor. |
- Bad | 1 | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover. |
- None | 0 | more than `7.5 dB` below the `limit` | Below the floor — transmission lost to noise. |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/tak.html b/v2.8.0/docs/user/tak.html deleted file mode 100644 index 838a87257b..0000000000 --- a/v2.8.0/docs/user/tak.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## Overview
-
-The TAK module allows Meshtastic nodes to:
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### Prerequisites
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | Description |
----------|-------------|
- Enabled | Activate TAK interop |
- Mode | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- Role | Description |
-------|-------------|
- **TAK** | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge. |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting | Description |
----------|-------------|
- Team Color | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- Member Role | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.) |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format | Compatibility | Features |
---------|--------------|----------|
- V1 (Legacy) | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+ | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## Troubleshooting
-
- Problem | Cause | Solution |
----------|-------|----------|
- Node doesn't appear on ATAK map | TAK module disabled or wrong role | Verify TAK module is enabled and node role is TAK or TAK Tracker |
- Position updates are stale | GPS fix lost or interval too long | Check GPS status; reduce position broadcast interval in Position Config |
- ATAK plugin shows "disconnected" | BLE connection lost or plugin crashed | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing | Channel mismatch | All TAK nodes must be on the same channel with matching encryption |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/telemetry-and-sensors.html b/v2.8.0/docs/user/telemetry-and-sensors.html deleted file mode 100644 index 524d3c5756..0000000000 --- a/v2.8.0/docs/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## Overview
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- Metric | Description | Typical Range |
---------|-------------|---------------|
- Battery Level | Charge percentage | 0–100% |
- Voltage | Battery voltage | 3.0–4.2V (LiPo) |
- Channel Utilization | % of airtime used locally | 0–100% |
- Air Utilization TX | % of airtime used by this node | 0–100% |
- Uptime | Seconds since last boot | Varies |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- Sensor | Temperature | Humidity | Pressure | Notes |
---------|-------------|----------|----------|-------|
- BME280 | ✓ | ✓ | ✓ | Recommended all-in-one |
- BME680 | ✓ | ✓ | ✓ | Adds gas resistance/IAQ |
- SHT31 | ✓ | ✓ | — | High accuracy |
- MCP9808 | ✓ | — | — | Precision temperature |
- LPS22 | — | — | ✓ | Pressure only |
-
-### Air Quality
-
- Sensor | Metric | Notes |
---------|--------|-------|
- BME680 | Gas Resistance / IAQ | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter |
- SEN55 | PM, NOx, VOC, Temp, Humidity | Multi-sensor |
-
-### Light & UV
-
- Sensor | Metric |
---------|--------|
- OPT3001 | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390 | UV index |
-
-## Power Metrics
-
-Nodes with INA-series power sensors can report:
-
- Metric | Description |
---------|-------------|
- Bus Voltage | Supply rail voltage |
- Current | Power consumption (mA) |
- Power | Calculated power (mW) |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case | Device (s) | Environment (s) |
-----------|-----------|-----------------|
- Urban mesh (many nodes) | 3600 | 3600 |
- Rural mesh (few nodes) | 900 | 900 |
- Weather station | 900 | 300 |
- Battery conservation | 7200 | 7200 |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- Metric | Unit | Description |
---------|------|-------------|
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter |
- PM10 | µg/m³ | Coarse particulate matter |
- CO₂ | ppm | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## Troubleshooting
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/translate.html b/v2.8.0/docs/user/translate.html deleted file mode 100644 index 9bb852df90..0000000000 --- a/v2.8.0/docs/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
----|---|
- UI strings | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text |
- User Guide pages | `docs/en/user/*.md` | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/` | App Store listing title, description, and changelogs |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/units-and-locale.html b/v2.8.0/docs/user/units-and-locale.html deleted file mode 100644 index 6bdefc544b..0000000000 --- a/v2.8.0/docs/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## Temperature
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
----|---|
- Celsius | 22°C |
- Fahrenheit | 72°F |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting | Small Distance | Large Distance | Altitude |
----|---|---|---|
- Metric | 350 m | 2.5 km | 1,200 m |
- Imperial (US) | 1,148 ft | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## Speed
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting | You See |
----|---|
- Metric | 12 km/h |
- Imperial (US) | 7 mph |
-
-## Wind
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting | You See |
----|---|
- Metric | 5 m/s |
- Imperial (US) | 11 mph |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting | You See |
----|---|
- Metric | 12 mm |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement | Unit | Why |
----|---|---|
- Barometric pressure | hPa | International meteorological standard |
- Heading / bearing | ° (degrees) | Universal navigation convention |
- Radiation | μR/hr | Standard dosimetry unit |
- GPS coordinates | decimal degrees | Universal geographic standard |
- Humidity, battery, soil moisture | % | Universal |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting | What It Controls | Example |
----|---|---|
- **24-Hour Time** | Clock format | 14:30 vs 2:30 PM |
- **Date Format** | Date ordering | 09/05/2026 vs 05/09/2026 |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/user/widget.html b/v2.8.0/docs/user/widget.html deleted file mode 100644 index 4473934a71..0000000000 --- a/v2.8.0/docs/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or *Powered* when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/android-auto.html b/v2.8.0/docs/zh-rCN/user/android-auto.html deleted file mode 100644 index 8374e73318..0000000000 --- a/v2.8.0/docs/zh-rCN/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## 总览
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## 消息
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## 节点
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/app-functions.html b/v2.8.0/docs/zh-rCN/user/app-functions.html deleted file mode 100644 index 685b73eb03..0000000000 --- a/v2.8.0/docs/zh-rCN/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## Privacy
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## Related Topics
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/connections.html b/v2.8.0/docs/zh-rCN/user/connections.html deleted file mode 100644 index 66d352b134..0000000000 --- a/v2.8.0/docs/zh-rCN/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - 连接数 - - - -
# 连接数
-
-Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.
-
-## Bluetooth (BLE)
-
-Bluetooth Low Energy is the default and most common connection method on Android.
-
-### Pairing a Device
-
-1. Ensure your Meshtastic radio is powered on and in pairing mode.
-2. Open the app and navigate to the **Connect** tab.
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. Select your device from the list.
-5. Accept the Bluetooth pairing prompt if shown.
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 **Tip:** If your device doesn't appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.
-
-### Connection Status
-
- 图标 | State          | 说明                            |
- -- | -------------- | ----------------------------- |
- 🟢 | 已连接            | Active radio link established |
- 🟡 | 正在连接           | Handshake in progress         |
- 🔴 | 已断开连接          | No active connection          |
- ⚪  | Not configured | 未选择设备                         |
-
-When connecting, a status indicator shows the current connection state:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-If no devices are found, the app shows an empty state with instructions:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### Troubleshooting Bluetooth
-
-- **Device not found:** Toggle Bluetooth off/on, ensure location is enabled.
-- **Connection drops:** Move closer to the radio; check for interference.
-- **Pairing rejected:** Forget the device in Android Bluetooth settings and retry.
-
-## USB Serial
-
-USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.
-
-### Setup
-
-1. Connect your radio via USB cable to your device.
-2. The app will prompt for USB permission — tap **Allow**.
-3. The connection is established automatically.
-
-> ⚠️ **Note:** USB connections require OTG support on Android devices.
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### When to Use TCP
-
-- Radio is on the same local network
-- Testing with a simulated radio
-- Environments where Bluetooth has interference issues
-
-## Reconnection Behavior
-
-The app reconnects to the **last selected device** on startup. You can switch transports from the Connect screen at any time.
-
-To disconnect, tap the disconnect button on the Connect screen:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## Desktop Connections
-
-On Desktop (Linux/macOS/Windows), the app supports:
-
-- **Bluetooth (BLE)** — via the Kable library; works on macOS, Linux, and Windows
-- **USB Serial** — primary wired connection method
-- **TCP/IP** — for network-connected radios
-
-See [Desktop App](desktop) for platform-specific details and keyboard shortcuts.
-
-## Related Topics
-
-- [Getting Started](onboarding) — first-launch setup and permissions
-- [Settings — Radio & User](settings-radio-user) — Bluetooth and network configuration
-- [Desktop App](desktop) — desktop-specific connection details
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — full list of compatible radios on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/debug-logs.html b/v2.8.0/docs/zh-rCN/user/debug-logs.html deleted file mode 100644 index 306859fef6..0000000000 --- a/v2.8.0/docs/zh-rCN/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## Desktop
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## Related Topics
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/desktop.html b/v2.8.0/docs/zh-rCN/user/desktop.html deleted file mode 100644 index 30b779dfaa..0000000000 --- a/v2.8.0/docs/zh-rCN/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Desktop App - - - -
# Desktop App
-
-The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.
-
-## 安装
-
-### Linux
-
-- Download the `.deb` or `.AppImage` package from the releases page
-- Or build from source using `./gradlew :desktopApp:run`
-
-### macOS
-
-- Download the `.dmg` package from releases
-- Or build from source
-
-### Windows
-
-- Download the `.msi` installer from releases
-- Or build from source
-
-## Connecting Your Radio
-
-### USB Serial (Primary)
-
-The most reliable connection method on Desktop:
-
-1. Connect your Meshtastic radio via USB cable.
-2. The app should detect the serial port automatically.
-3. If not detected, select the correct serial port from the Connect menu.
-
-### TCP/IP
-
-For network-connected radios:
-
-1. Enter the radio's IP address and port (default: 4403).
-2. Click **Connect**.
-
-### Bluetooth (BLE)
-
-Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/JuulLabs/kable) library:
-
-1. Ensure your system has a Bluetooth adapter.
-2. The app scans for nearby Meshtastic radios automatically.
-3. Select your device from the Connect screen.
-
-## Feature Parity
-
- Feature                                      | Android | Desktop | 注                                                                                         |
- -------------------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------- |
- Messaging                                    | ✓       | ✓       | Full parity                                                                               |
- Node List                                    | ✓       | ✓       | Full parity                                                                               |
- 地图                                           | ✓       | ◐       | Map tab exists on desktop, but the interactive map view is Android-only                   |
- 设置                                           | ✓       | ✓       | Full parity                                                                               |
- Bluetooth (BLE)           | ✓       | ✓       | Via Kable on desktop                                                                      |
- 固件更新                                         | ✓       | ✓       | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- Notifications                                | ✓       | ✓       | Native OS notifications                                                                   |
- Widgets                                      | ✓       | ✗       | Android-only                                                                              |
- Android Auto                                 | ✓       | ✗       | Android-only — not available on Desktop or iOS                                            |
- AI Assistant (Chirpy)     | ✓\*     | ✗       | Google flavor Android only                                                                |
- App Functions (system AI) | ✓†      | ✗       | Google flavor Android only                                                                |
-
-\*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## UI Differences
-
-The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.
-
-### Keyboard Shortcuts
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- Shortcut     | Action                 |
- ------------ | ---------------------- |
- **⌘/Ctrl+Q** | Quit the application   |
- **⌘/Ctrl+,** | 打开设置                   |
- **⌘/Ctrl+1** | Switch to Messages tab |
- **⌘/Ctrl+2** | Switch to Nodes tab    |
- **⌘/Ctrl+3** | Switch to Map tab      |
- **⌘/Ctrl+4** | Switch to Connect tab  |
- **⌘/Ctrl+/** | Open About             |
-
-### Window & System Tray
-
-- **Window resizing** — responsive layout adapts to window dimensions
-- **System tray** — minimize to system tray for background mesh operation
-- **Tray menu** — right-click the tray icon to show window or quit
-- **Mouse interaction** — hover states and standard desktop navigation
-
-### Notification Preferences
-
-The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from **Settings → Notifications** within the app.
-
-## Built-in Documentation Browser
-
-The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-The browser supports full-text search across all documentation:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-Individual doc pages render with full formatting:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## Building from Source
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-Requirements:
-
-- JDK 21
-- No Android SDK required for desktop-only builds
-
-## Known Limitations
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- Some Android-specific features (widgets, specific notification channels) are unavailable
-- Performance may vary on low-spec hardware running Compose Desktop
-- BLE bonding is not yet supported on desktop (pairing works without bonding)
-
-## Related Topics
-
-- [Connections](connections) — connection methods overview
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/discovery.html b/v2.8.0/docs/zh-rCN/user/discovery.html deleted file mode 100644 index bdf8720368..0000000000 --- a/v2.8.0/docs/zh-rCN/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - 发现 - - - -
# 发现
-
-Discovery tools help you understand **how** your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### Reading the Results
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- 公制                                       | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- 频道使用                                     | How busy the airwaves were during the dwell.                                   |
- 广播时间                                     | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## 追踪器
-
-Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It's the single most useful tool for debugging connectivity problems.
-
-### Running a Traceroute
-
-1. Navigate to **Nodes** and tap the node you want to trace.
-2. On the node detail screen, tap **Traceroute**.
-3. The app sends a traceroute request and waits for the response.
-4. Results display each hop in order, with signal quality at every step.
-
-### Reading the Results
-
-A traceroute result looks like this:
-
-```
-You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-```
-
-Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.
-
- What to look for                                                                  | What it means                                                               |
- --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
- All hops show Good SNR (≥ −7 dB, green)                        | Healthy path — messages flow reliably                                       |
- One hop shows Bad SNR (< −15 dB, red) | Weak link — this relay segment is fragile                                   |
- Many hops (4+)                                                 | Long path — consider repositioning a node to shorten it                     |
- Different path on retry                                                           | Mesh is adapting — multiple routes exist (this is good!) |
-
-> 💡 **Tip:** Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.
-
-### Troubleshooting with Traceroute
-
-- **"No route found"** — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
-- **Traceroute times out** — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in **Settings → LoRa Config**.
-- **Asymmetric paths** — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.
-
-## Node List as a Discovery Tool
-
-The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.
-
-### Finding New Nodes
-
-- Sort by **Last heard** to see the most recently active nodes at the top.
-- Enable **Include unknown** to see nodes that have appeared on the mesh but haven't sent user info yet — these are often newly powered-on devices.
-
-### Assessing Connectivity
-
-- Sort by **Hops away** to see which nodes are directly reachable (0 hops) versus relayed.
-- Sort by **Distance** to find nearby nodes and verify they're reachable.
-- Use **Exclude MQTT** to focus on nodes reachable over radio (not via internet bridge).
-
-### Infrastructure Audit
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.
-
-See [Nodes](nodes) for full details on filtering and sorting options.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/firmware.html b/v2.8.0/docs/zh-rCN/user/firmware.html deleted file mode 100644 index 60c6620f64..0000000000 --- a/v2.8.0/docs/zh-rCN/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - 固件升级 - - - -
# 固件升级
-
-Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.
-
-## Checking for Updates
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. The app checks for available firmware versions.
-3. Available updates show the version number and changelog summary.
-
-## Update Methods
-
-### OTA (Over-The-Air) via Bluetooth
-
-The most common update method for Android users:
-
-1. Ensure your radio is connected via Bluetooth.
-2. Navigate to the Firmware Update screen.
-3. Select the desired firmware version.
-4. Tap **Update** to begin the OTA process.
-5. Wait for the update to complete — **do not disconnect** during the update.
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ **Warning:** Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- Use the [Meshtastic Web Flasher](https://flasher.meshtastic.org)
-- Or the [Meshtastic CLI tool](https://meshtastic.org/docs/getting-started/flashing-firmware) on desktop
-
-## Version Channels
-
- 频道   | 说明                                                                         |
- ---- | -------------------------------------------------------------------------- |
- 稳定版本 | Recommended for most users; tested releases                                |
- 开发版本 | Preview releases; may contain bugs                                         |
- 本地文件 | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## Pre-Update Checklist
-
-Before updating:
-
-- [ ] Battery > 50%
-- [ ] Stable Bluetooth connection
-- [ ] Note your current settings (they may reset on major version changes)
-- [ ] Check the release notes for breaking changes
-
-## Post-Update
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- The radio will reboot automatically
-- Bluetooth connection will re-establish
-- Verify your settings are intact
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## 问题排查
-
-### Update Stuck
-
-If the update appears frozen:
-
-- Wait at least 5 minutes before intervening
-- If truly stuck, power-cycle the radio
-- Attempt the update again
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### Device Won't Boot After Update
-
-If your device fails to boot:
-
-1. Try connecting via USB to a computer
-2. Use the web flasher in recovery/DFU mode
-3. Flash a known-good firmware version
-4. Check the Meshtastic Discord for device-specific recovery steps
-
-### Compatibility Warnings
-
-The app may show warnings when:
-
-- Connected radio firmware is below minimum supported version
-- Major version mismatch between app and firmware
-- Deprecated features need migration
-
-> ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.
-
-## Related Topics
-
-- [Connections](connections) — reconnecting after a firmware update
-- [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org
-- [Supported devices](https://meshtastic.org/docs/hardware/devices) — check firmware compatibility by device
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/help-and-docs.html b/v2.8.0/docs/zh-rCN/user/help-and-docs.html deleted file mode 100644 index ddde31ef36..0000000000 --- a/v2.8.0/docs/zh-rCN/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### Search
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## Related Topics
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/map-and-waypoints.html b/v2.8.0/docs/zh-rCN/user/map-and-waypoints.html deleted file mode 100644 index 94da5af69a..0000000000 --- a/v2.8.0/docs/zh-rCN/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Map & Waypoints - - - -
# Map & Waypoints
-
-The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.
-
-## Map View
-
-The map displays:
-
-- **Node positions** — colored markers for each node reporting location
-- **Waypoints** — shared points of interest
-- **Your position** — your current GPS location
-
-### Node Markers
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### Map Controls
-
-- **Zoom** — pinch or use +/- buttons
-- **Pan** — drag to explore
-- **Center** — select the location button to center on your position
-- **Node tap** — tap a node marker to view details
-
-The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## Waypoints
-
-Waypoints are shared geographic points of interest that all mesh members can see.
-
-### Creating a Waypoint
-
-1. Long-press on the map at the desired location.
-2. Enter a name and optional description.
-3. Choose an icon/emoji for the waypoint.
-4. Tap **Send** to share with the mesh.
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### Waypoint Properties
-
- Property   | 说明                                                      |
- ---------- | ------------------------------------------------------- |
- 名称         | Short identifier (max 29 characters) |
- 说明         | Optional longer description                             |
- 图标         | Visual marker emoji on the map                          |
- 锁定         | If locked, only the creator can edit or delete          |
- Expiration | Optional auto-remove date and time                      |
- 地图围栏       | Optional enter/exit alert area — see below              |
-
-### Waypoint Expiration
-
-Waypoints can be set to expire automatically:
-
-- **Never** (default) — waypoint remains until manually deleted
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.
-
-Expired waypoints are automatically hidden from the map so they don't clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### Managing Waypoints
-
-- Tap a waypoint on the map to view its details and coordinates
-- Edit or delete waypoints you created
-- **Locked waypoints** cannot be modified or deleted by other nodes — only the original creator can change them
-- Unlocked waypoints can be edited by any mesh member
-
-## 地图图层
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## Position Sharing
-
-### Enabling Position Sharing
-
-Your node shares its GPS position based on:
-
-- **Fixed interval** — broadcast position at regular intervals
-- **Smart position** — broadcast when movement exceeds a threshold
-- **Manual** — only share when explicitly requested
-
-Configure position behavior in **Settings → Position**.
-
-### Privacy Considerations
-
-> 🔒 **Privacy:** Position data is broadcast to all nodes on your channel. If you don't want your location shared, disable GPS position in settings or use a fixed/fake position.
-
-## Map Sources
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- Satellite imagery (where available)
-- Offline tiles (download map areas for offline use)
-
-## Related Topics
-
-- [Nodes](nodes) — view and filter your node list
-- [Node Metrics](node-metrics) — signal quality and position history for individual nodes
-- [Discovery](discovery) — traceroute and neighbor info for understanding mesh topology
-- [Units & Locale](units-and-locale) — distance and coordinate display formats
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/messages-and-channels.html b/v2.8.0/docs/zh-rCN/user/messages-and-channels.html deleted file mode 100644 index a3661d6ee6..0000000000 --- a/v2.8.0/docs/zh-rCN/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Messages & Channels - - - -
# Messages & Channels
-
-Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.
-
-## 频道
-
-Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
-
-### Default Channel
-
-Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.
-
-### 频道安全
-
-Channels support multiple encryption levels:
-
- 图标 | Security Level                       | 说明                                                                                                                                     |
- -- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
- 🔒 | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.      |
- 🔐 | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.        |
- 🔓 | Default / Open                       | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
- ⚠️ | Insecure + Position                  | Open channel that also broadcasts your GPS position. Use with caution in public meshes.                |
-
-> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.
-
-### Adding a Channel
-
-1. Navigate to **Settings → Channels**.
-2. Tap **Add Channel** or scan a QR code.
-3. Configure the channel name and encryption key.
-4. Share the channel URL/QR code with others who need access.
-
-Tapping a channel shows its details and sharing options.
-
-## 私聊
-
-Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.
-
-### Sending a Direct Message
-
-1. Open the **Messages** tab.
-2. Select a node from your contacts list or tap a node in the node list.
-3. Type your message and tap **Send**.
-
-### Message States
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- State                               | Meaning                                                                                                                              |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- 已发送至网状网络                            | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- 通过 SF++ 链路路由…                       | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- 已在 SF++ 链上确认                        | Confirmed delivered via the SF++ chain                                                                                               |
- 错误                                  | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### Delivery Errors
-
-When a message fails to deliver, the error indicator shows what went wrong:
-
- 错误               | Meaning                                  | What to Do                                                                                                                                                                  |
- ---------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 找不到目标            | No path exists to the destination node   | The recipient may be offline or out of mesh range. Try later or move closer.                                                                |
- Got NAK          | The next-hop node refused to relay       | The relay node may be congested. Wait and retry.                                                                                            |
- 超时               | No acknowledgment within retry window    | The recipient may be just out of range. Try increasing hop limit or moving to a better position.                                            |
- 无连接              | No radio interface available to send     | Check that your radio is connected and the channel is configured.                                                                                           |
- Max Retransmit   | All retry attempts exhausted             | The mesh path is unreliable. Try a different channel or wait for conditions to improve.                                                     |
- 没有频道             | The destination channel doesn't exist    | Verify both nodes share the same channel configuration.                                                                                                     |
- Too Large        | Message exceeds maximum payload size     | Shorten your message (max ~200 characters).                                                                              |
- 无响应              | Node received message but didn't respond | The recipient's radio may be busy or in low-power sleep mode.                                                                                               |
- Duty Cycle Limit | Regional airtime limit reached           | Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions). |
- 错误请求             | Malformed or invalid message             | This usually indicates a software bug. Try restarting the app.                                                                              |
-
-> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.
-
-## Message Features
-
-### Quick Chat
-
-Pre-configured messages for rapid communication:
-
-- Access via the Quick Chat button in the message input area
-- Choose from built-in phrases or custom messages
-- Customize quick chat messages in **Settings → Quick Chat**
-- Useful when typing is impractical (gloves, small screen, urgent)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-The channel list shows each channel with its latest message preview.
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### Message Bubbles
-
-Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- 类型            | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### Reactions
-
-React to messages with emoji:
-
-- **Long-press** a message to open the actions menu
-- Tap **Add Reaction** to choose an emoji
-- Reactions appear below the message bubble
-- Multiple users can react to the same message
-- React to your own messages or others' messages
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.
-
-### Message Actions
-
-Long-press any message to access:
-
-- **Copy** — copy message text to clipboard
-- **Reply** — quote the message in your response
-- **React** — add an emoji reaction
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- **Delete** — remove a message you sent (local deletion)
-
-### Message Priority
-
-Messages are queued and transmitted based on priority:
-
-1. Emergency/alert messages (highest)
-2. Direct messages
-3. Channel broadcasts (lowest)
-
-### Message Limits
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
-- **Delivery:** Messages are retried automatically if no acknowledgment is received
-
-## Best Practices
-
-- Use channels for group coordination
-- Use direct messages for private person-to-person communication
-- Keep messages short — mesh bandwidth is limited
-- Configure encryption for sensitive communications
-
-## Related Topics
-
-- [Nodes](nodes) — tap a node to start a direct message
-- [Settings — Radio & User](settings-radio-user) — configure channel encryption and presets
-- [MQTT](mqtt) — bridge channel messages to the internet
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/mqtt.html b/v2.8.0/docs/zh-rCN/user/mqtt.html deleted file mode 100644 index 3d045d8985..0000000000 --- a/v2.8.0/docs/zh-rCN/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.
-
-## 总览
-
-The MQTT module connects your node to an MQTT broker, allowing:
-
-- Messages to reach nodes on different physical meshes via the internet
-- Integration with home automation and monitoring systems
-- Publishing node positions to the public Meshtastic map
-- Custom data pipelines for logging and alerting
-
-## How It Works
-
-```
-[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-```
-
-A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.
-
-## Configuration
-
-### Enabling MQTT
-
-1. Navigate to **Settings → Module Config → MQTT**.
-2. Enable the MQTT module.
-3. Configure the broker connection:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting         | 说明                                                                                            | 默认                                                  |
- --------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- |
- Server Address  | MQTT broker hostname                                                                          | mqtt.meshtastic.org |
- 用户名称            | Broker authentication                                                                         | meshdev                                             |
- 密码              | Broker authentication                                                                         | large4cats                                          |
- Root Topic      | Base topic for messages                                                                       | msh                                                 |
- 加密              | Encrypt MQTT payload                                                                          | Enabled                                             |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON packet support has been removed from firmware; this field is ignored | 禁用                                                  |
- TLS             | Secure connection to broker                                                                   | 禁用                                                  |
- Map Reporting   | Report position to public map                                                                 | 禁用                                                  |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### Default Meshtastic Broker
-
-The community maintains a public broker at `mqtt.meshtastic.org`. This is intended for general use and testing.
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 **Privacy:** Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.
-
-### Private Broker
-
-For better privacy and control, you can run your own MQTT broker:
-
-- Mosquitto (lightweight, open-source)
-- HiveMQ
-- EMQX
-
-Configure your node to point to your private broker with appropriate credentials.
-
-## Map Reporting
-
-When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:
-
-- Visible at [meshmap.net](https://meshmap.net) and similar community map services
-- Only position and node info are shared
-- Disable this if you don't want your location publicly visible
-
-## Uplink vs Downlink
-
- Direction    | 说明                               |
- ------------ | -------------------------------- |
- **Uplink**   | Messages from mesh → MQTT broker |
- **Downlink** | Messages from MQTT broker → mesh |
-
-Configure per-channel which directions are active to control message flow and airtime usage.
-
-## Message Formats
-
-MQTT uses protobuf message format:
-
- Format       | 说明                                  | Use case                   |
- ------------ | ----------------------------------- | -------------------------- |
- **Protobuf** | Binary Meshtastic protobuf encoding | Node-to-node mesh bridging |
-
-> ⚠️ **Note:** JSON output support was removed from firmware. The `json_enabled` setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.
-
-## Encryption & Privacy
-
-Understanding the layered encryption model:
-
-1. **Channel encryption** happens on the mesh _before_ MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
-2. **MQTT encryption** (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
-3. **TLS** encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.
-
-> 🔒 **Important:** The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively **unencrypted** — anyone can decode them. Always use a custom PSK for private communications.
-
-## Best Practices
-
-- Use channel-level encryption (PSK) on channels that bridge to MQTT
-- Don't enable MQTT on nodes without internet access (it will buffer and waste memory)
-- Use a private broker for sensitive deployments
-- Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
-- Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back
-
-## 问题排查
-
-### MQTT Not Connecting
-
-- **Check WiFi** — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
-- **Verify credentials** — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
-- **Firewall** — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
-- **DNS resolution** — if using a custom broker hostname, verify the node can resolve it. Try the broker's IP address directly.
-
-### Messages Not Bridging
-
-- **Check uplink/downlink settings** — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
-- **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
-- **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker.
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference
-- [Messages & Channels](messages-and-channels) — channel encryption and PSK setup
-- [MQTT integration guide](https://meshtastic.org/docs/software/integrations/mqtt) — detailed MQTT documentation on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/node-metrics.html b/v2.8.0/docs/zh-rCN/user/node-metrics.html deleted file mode 100644 index f8a4efc1f8..0000000000 --- a/v2.8.0/docs/zh-rCN/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## 设备数据
-
-Basic operating information reported by each node:
-
- 公制     | 说明                                  |
- ------ | ----------------------------------- |
- 电池电量   | Current battery percentage          |
- 电压     | Battery voltage reading             |
- 频道利用率  | Percentage of airtime consumed      |
- 广播时间   | Transmission time used by this node |
- 正常运行时间 | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## 传感器指标
-
-Environmental sensor data (requires compatible hardware):
-
- 公制                                   | Sensor Examples       |
- ------------------------------------ | --------------------- |
- 温度                                   | BME280, BME680, SHT31 |
- 湿度                                   | BME280, BME680, SHT31 |
- 气压                                   | BME280, BMP280        |
- 气体电阻性                                | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- 公制                    | Unit      | 说明                                                                                                                                                                                                                         |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | 颜色       |
- -------- | ---------------------------------- | -------- |
- 良好       | < 1000    | 绿        |
- Stuffy   | < 2000    | Amber    |
- Poor     | < 5000    | 橙色       |
- Unsafe   | < 30000   | 红        |
- Evacuate | ≥ 30000                            | Dark red |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## 信号强度
-
-Radio signal quality information:
-
- 公制          | 说明                                                                             |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- Hop Count   | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- 良好      | SNR above the preset's limit                                     |
- 一般      | less than 5.5 dB below the limit                 |
- 差       | 5.5 dB to 7.5 dB below the limit |
- 无       | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## 电源计量
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- 公制          | 说明                      |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- 电流          | Power draw in milliamps |
- 电源          | Calculated wattage      |
-
-## 追踪器
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## 定位日志
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- 海拔高度
-- Speed (if moving)
-- Timestamp for each position report
-
-## 邻居信息
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/nodes.html b/v2.8.0/docs/zh-rCN/user/nodes.html deleted file mode 100644 index f0889dff46..0000000000 --- a/v2.8.0/docs/zh-rCN/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - 节点 - - - -
# 节点
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- 角色                               | 说明                                                                                                                                                     |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- 客户端                              | Standard end-user device                                                                                                                               |
- 客户群                              | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- 客户端静默                            | Receives but doesn't retransmit                                                                                                                        |
- 客户端隐藏                            | Like Client Mute, plus hides from node list                                                                                                            |
- 路由                               | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- 延迟时间                             | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- 追踪器                              | Optimized for position reporting at regular intervals                                                                                                  |
- 传感器                              | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK 追踪器                          | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- 图标          | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - 删除节点
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- 搜索节点                       | 说明                                                                                   |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | 说明                                                                 |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | Screenshot                                                    |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- 电池电量           | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- 最后听到           | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- 距离             | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/onboarding.html b/v2.8.0/docs/zh-rCN/user/onboarding.html deleted file mode 100644 index 79f362f163..0000000000 --- a/v2.8.0/docs/zh-rCN/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Getting Started - - - -
# Getting Started
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/settings-module-admin.html b/v2.8.0/docs/zh-rCN/user/settings-module-admin.html deleted file mode 100644 index 25abc54595..0000000000 --- a/v2.8.0/docs/zh-rCN/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## 模块配置
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- Setting         | 说明                                                                       |
- --------------- | ------------------------------------------------------------------------ |
- Enabled         | Toggle MQTT bridge                                                       |
- 服务器             | MQTT broker address                                                      |
- 用户名称            | Authentication username                                                  |
- 密码              | Authentication password                                                  |
- 加密              | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- Root Topic      | Base MQTT topic path                                                     |
- 地图报告            | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- Setting    | 说明                              |
- ---------- | ------------------------------- |
- Enabled    | Activate serial communication   |
- 回声         | Echo received serial data back  |
- 模式         | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- 波特率        | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- Setting                          | 说明                          |
- -------------------------------- | --------------------------- |
- Enabled                          | Activate notifications      |
- 提醒消息                             | Notify on incoming messages |
- 警告消息蜂鸣                           | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- 提醒铃声                             | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- 启用                               | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- Setting                                    | 说明                                                                                                                                               |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                    | Activate store and forward                                                                                                                       |
- Heartbeat                                  | Periodically announce this node's store-and-forward capability                                                                                   |
- Records                                    | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- 服务器                                        | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- Setting                                | 说明                                |
- -------------------------------------- | --------------------------------- |
- Enabled                                | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- Setting                      | 说明                                      |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- 启用空气质量检测                     | Report particulate sensor data          |
- Power Metrics Enabled        | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- Setting            | 说明                                                          |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- 消息                 | Newline-separated list of messages                          |
- 发送铃声               | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- Setting         | 说明                               |
- --------------- | -------------------------------- |
- Enabled         | Activate audio module            |
- Codec2 Rate     | Audio quality/bandwidth tradeoff |
- I2S Word Select | GPIO pin for I2S WS              |
- I2S Data In     | GPIO pin for I2S DIN             |
- I2S Data Out    | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- Setting              | 说明                                                              |
- -------------------- | --------------------------------------------------------------- |
- Enabled              | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- Setting                                | 说明                                                                                                                                   |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Enabled                                | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- Transmit Over LoRa                     | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- Setting            | 说明                                                         |
- ------------------ | ---------------------------------------------------------- |
- LED 状态             | Turn the LED on or off                                     |
- 电流                 | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- Setting                                  | 说明                                                                                                                                      |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- Enabled                                  | Activate detection sensor                                                                                                               |
- 监视器                                      | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- 发送铃声                                     | Include bell character in alerts                                                                                                        |
- 友好名称                                     | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- Setting                                | 说明                         |
- -------------------------------------- | -------------------------- |
- Enabled                                | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## 管理员
-
-### 远程管理
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### 清理节点数据库
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### Factory Reset
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### 重启
-
-Remotely reboot a connected or administered node.
-
-### 调试面板
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/settings-radio-user.html b/v2.8.0/docs/zh-rCN/user/settings-radio-user.html deleted file mode 100644 index 7512e87afa..0000000000 --- a/v2.8.0/docs/zh-rCN/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## 用户设置
-
-### User Profile
-
- Setting | 说明                                                                                    |
- ------- | ------------------------------------------------------------------------------------- |
- 长名称     | Your display name (up to 39 characters)                            |
- 短名称     | 4-character abbreviated name                                                          |
- 持证操作员   | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## Configuration
-
-### 设备配置
-
- Setting                                    | 说明                                                                      | 默认    |
- ------------------------------------------ | ----------------------------------------------------------------------- | ----- |
- 角色                                         | Node behavior (Client, Router, etc.) | 客户端   |
- 转播模式                                       | How the node retransmits messages                                       | 全部    |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800 |
- Double-tap Button                          | Action for double-tap button press                                      | 禁用    |
-
-### LoRa 配置
-
- Setting                     | 说明                                                                      | 默认                                        |
- --------------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- 区域                          | Regulatory region for frequency bands                                   | Unset (must configure) |
- 调制解调器预设                     | Speed/range tradeoff                                                    | LongFast                                  |
- 跳跃数限制                       | Maximum retransmit hops                                                 | 3                                         |
- TX Power                    | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- 频率偏移(MHz | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth           | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | Range                   | 速度                        | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- Short Turbo        | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- Short Fast         | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- Short Slow         | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- Medium Fast        | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- Medium Slow        | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- Long Moderate      | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### 屏幕配置
-
- Setting             | 说明                                                                                   |
- ------------------- | ------------------------------------------------------------------------------------ |
- 屏幕超时时间              | Time before display sleeps                                                           |
- 显示单位                | Metric or Imperial                                                                   |
- OLED 类型             | Auto, SSD1306, SH1106, SH1107                                                        |
- Compass Orientation | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~   | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### 定位配置
-
- Setting                                   | 说明                                 |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS更新间隔                                   | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- 智能位置                                      | Enable movement-based broadcasting |
- 固定位置                                      | Use a manually set position        |
-
-### 电源配置
-
- Setting                                 | 说明                                      |
- --------------------------------------- | --------------------------------------- |
- 省电模式                                    | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### 网络配置
-
- Setting       | 说明                                                   |
- ------------- | ---------------------------------------------------- |
- WiFi Enabled  | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | 网络密码                                                 |
- NTP 服务器地址     | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### 蓝牙配置
-
- Setting           | 说明                                                                        |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- 配对模式              | Fixed PIN, Random PIN, or No PIN                                          |
- 固定PIN码            | PIN code for pairing (default: 123456) |
-
-### 安全配置
-
- Setting                   | 说明                                                                                                                                                                                                             |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 公钥                        | Your node's public key (read-only)                                                                                                                                                          |
- 管理员密钥                     | Key for remote administration                                                                                                                                                                                  |
- 私钥                        | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- Debug Log                 | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- 管理模式                      | Restrict non-admin channel changes                                                                                                                                                                             |
- 备份密钥                      | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- 恢复密钥                      | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- 删除密钥备份                    | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | Screenshot                                                  |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/signal-meter.html b/v2.8.0/docs/zh-rCN/user/signal-meter.html deleted file mode 100644 index 63e8508743..0000000000 --- a/v2.8.0/docs/zh-rCN/user/signal-meter.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- 良好    | 3    | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- 一般    | 2    | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- 差     | 1    | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- 无     | 0    | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/tak.html b/v2.8.0/docs/zh-rCN/user/tak.html deleted file mode 100644 index 124ade4e92..0000000000 --- a/v2.8.0/docs/zh-rCN/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## 总览
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## Setup
-
-### 前置条件
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### Configuration
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- Setting | 说明                         |
- ------- | -------------------------- |
- Enabled | Activate TAK interop       |
- 模式      | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- 角色              | 说明                                                                                                                                                                                                                                                                                  |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- Setting | 说明                                                                                                               |
- ------- | ---------------------------------------------------------------------------------------------------------------- |
- 队伍颜色    | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- 成员角色    | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | Compatibility                                            | 特性                                                                                                                                                                                                                 |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## 问题排查
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/telemetry-and-sensors.html b/v2.8.0/docs/zh-rCN/user/telemetry-and-sensors.html deleted file mode 100644 index a2f8c5bcc8..0000000000 --- a/v2.8.0/docs/zh-rCN/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## 总览
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## Device Telemetry
-
-All Meshtastic nodes report basic device telemetry:
-
- 公制                 | 说明                             | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- 电池电量               | Charge percentage              | 0–100%                                                             |
- 电压                 | Battery voltage                | 3.0–4.2V (LiPo) |
- 频道利用率              | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- 正常运行时间             | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- 传感器     | 温度 | 湿度 | 气压 | 注                       |
- ------- | -- | -- | -- | ----------------------- |
- BME280  | ✓  | ✓  | ✓  | Recommended all-in-one  |
- BME680  | ✓  | ✓  | ✓  | Adds gas resistance/IAQ |
- SHT31   | ✓  | ✓  | —  | High accuracy           |
- MCP9808 | ✓  | —  | —  | Precision temperature   |
- LPS22   | —  | —  | ✓  | Pressure only           |
-
-### Air Quality
-
- 传感器      | 公制                                                 | 注                          |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- 传感器      | 公制                                     |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## 电源计量
-
-Nodes with INA-series power sensors can report:
-
- 公制          | 说明                                        |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- 电流          | Power consumption (mA) |
- 电源          | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- 公制                    | Unit  | 说明                           |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## 问题排查
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/translate.html b/v2.8.0/docs/zh-rCN/user/translate.html deleted file mode 100644 index 9c06247014..0000000000 --- a/v2.8.0/docs/zh-rCN/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-Thank you for helping expand the reach of Meshtastic!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/units-and-locale.html b/v2.8.0/docs/zh-rCN/user/units-and-locale.html deleted file mode 100644 index dcb2c4e2c1..0000000000 --- a/v2.8.0/docs/zh-rCN/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## 温度
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | 海拔高度     |
- -------------------------------- | -------------- | ---------------------- | -------- |
- 公制                               | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## 速度
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- 公制                               | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## 风
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- 公制                               | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- 公制                               | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- Barometric pressure              | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- 辐射                               | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- Setting          | What It Controls | Example                                          |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rCN/user/widget.html b/v2.8.0/docs/zh-rCN/user/widget.html deleted file mode 100644 index b05f460dc7..0000000000 --- a/v2.8.0/docs/zh-rCN/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/android-auto.html b/v2.8.0/docs/zh-rTW/user/android-auto.html deleted file mode 100644 index 98f9186a6d..0000000000 --- a/v2.8.0/docs/zh-rTW/user/android-auto.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Android Auto - - - -
# Android Auto
-
-Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.
-
-> ⚠️ **Note:** Android Auto support is available on **Google-flavor Android builds only**. It is not included in the F-Droid build, and it is not available on Desktop or iOS.
-
-> ℹ️ **What ships today:** The Google Play build provides **notification-only** car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed **Messages / Nodes / Status** experience described below is a beta built on the Android Car App Library (Google's templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with `-PenableCarTemplates=true`. The rest of this page documents that beta experience.
-
-## 總覽
-
-When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:
-
-- **Messages** — recent conversations, with hands-free reading and replies.
-- **Nodes** — the mesh node list, with a node-detail view.
-- **Status** — current connection and mesh status.
-
-The car app does not add a new connection of its own. It uses the Meshtastic app's existing connection, node, and message state, so it reflects whatever your phone is already connected to.
-
-> ⚠️ **Note:** Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.
-
-## 訊息
-
-The Messages tab lists your recent conversations. While driving, you can:
-
-- **Have messages read aloud** so you don't need to look at the screen.
-- **Reply by voice or text** using your head unit's reply control, dictating your response hands-free.
-
-## 節點
-
-The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See [Nodes](nodes) for the full meaning of the information shown.
-
-## Status
-
-The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you're still connected to your radio without opening your phone.
-
-## 相關主題
-
-- [Messages & Channels](messages-and-channels) — full messaging features on your phone
-- [Nodes](nodes) — detailed node list and node-detail information
-- [Connections](connections) — how the app connects to your radio
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/app-functions.html b/v2.8.0/docs/zh-rTW/user/app-functions.html deleted file mode 100644 index c18b596f6f..0000000000 --- a/v2.8.0/docs/zh-rTW/user/app-functions.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - App Functions - - - -
# App Functions
-
-App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.
-
-> ⚠️ **Note:** App Functions are available on **Google-flavor Android builds only**.
-
-> ⚠️ **Note:** This is separate from the in-app **Chirpy** assistant. App Functions let the _system_ AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.
-
-## Enabling App Functions
-
-App Functions are controlled from **Settings → System AI** (the in-app screen is labeled "System AI"). The screen has:
-
-- A **master toggle** labeled **"Allow AI access"**, with the subtitle _"Let system AI assistants (e.g. Gemini) discover and use mesh functions"_. When off, no functions are exposed to the system.
-- An **individual toggle for each function**, so you can expose only the capabilities you want.
-
-The functions are grouped into a **Write** section (functions that change something or send data to your mesh) and a **Read** section (functions that only return information).
-
-![App Functions screen with master and per-function toggles](../../assets/screenshots/app-functions_settings.png)
-
-### Write Functions
-
- Function         | What it does                                                                                                            |
- ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
- **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. |
-
-### Read Functions
-
- Function                | What it returns                                             |
- ----------------------- | ----------------------------------------------------------- |
- **Get Mesh Status**     | Overall mesh status.                        |
- **Get Node List**       | The list of nodes on your mesh.             |
- **Get Channel Info**    | Information about your channels.            |
- **Get Device Status**   | Status of your connected radio.             |
- **Get Node Details**    | Detailed information about a specific node. |
- **Get Recent Messages** | Recent messages from your conversations.    |
- **Get Unread Summary**  | A summary of unread messages.               |
- **Get Mesh Metrics**    | Telemetry and metrics from your mesh.       |
-
-## 隱私
-
-> 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.
-
-## 相關主題
-
-- [Messages & Channels](messages-and-channels) — sending messages directly in the app
-- [Nodes](nodes) — the node list the read functions draw from
-- [Node Metrics](node-metrics) — the telemetry behind Get Mesh Metrics
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/connections.html b/v2.8.0/docs/zh-rTW/user/connections.html deleted file mode 100644 index 659fbb767a..0000000000 --- a/v2.8.0/docs/zh-rTW/user/connections.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - 連線 - - - -
# 連線
-
-Meshtastic 支援多種傳輸方式,以便您的手機或電腦與無線電節點進行通訊。
-
-## 藍牙(BLE)
-
-藍牙低功耗是 Android 上預設且最常見的連線方式。
-
-### 配對裝置
-
-1. 請確認您的 Meshtastic 無線電裝置已開機,並進入配對模式。
-2. 開啟應用程式,並前往「連線」頁籤。
-3. Tap **Scan for Bluetooth devices** — nearby Meshtastic radios will appear.
-4. 從清單中選取您的裝置。
-5. 若出現藍牙配對提示,請點選接受。
-
-![Scanning for Bluetooth devices, with a discovered radio in the list](../../assets/screenshots/connections_bluetooth_scan.png)
-
-Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):
-
-![Transport selector](../../assets/screenshots/connections_transport_filters.png)
-
-> 💡 提示:若裝置未顯示,請確認已授予藍牙與位置權限,且該無線電裝置尚未連接至其他裝置。
-
-### 連線狀態
-
- 圖示 | 狀態    | 描述說明     |
- -- | ----- | -------- |
- 🟢 | 已連線   | 無線電連線已建立 |
- 🟡 | 正在連線  | 交握進行中    |
- 🔴 | 已中斷連線 | 無作用中連線   |
- ⚪  | 尚未設定  | 未選擇裝置    |
-
-連線過程中,狀態指示器會顯示目前的連線狀態:
-
-![Connecting status](../../assets/screenshots/connections_connecting.png)
-
-若未找到任何裝置,應用程式將顯示空白畫面並提供操作說明:
-
-![No devices found](../../assets/screenshots/connections_empty_state.png)
-
-### 藍牙疑難排解
-
-- 找不到裝置:請關閉再開啟藍牙,並確認已啟用位置服務。
-- 連線中斷:請靠近無線電裝置,並檢查是否有訊號干擾。
-- 配對遭拒:請至 Android 藍牙設定中移除該裝置後重新配對。
-
-## USB 序列埠
-
-USB 連線提供有線替代方案,適用於桌上型電腦或藍牙無法使用的情況。
-
-### 設定
-
-1. 請使用 USB 傳輸線將無線電裝置連接至您的裝置。
-2. 應用程式將提示要求 USB 權限——請點選「允許」。
-3. 連線將自動建立。
-
-> ⚠️ 注意:USB 連線需要 Android 裝置支援 OTG 功能。
-
-## TCP/IP (Network)
-
-Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.
-
-### Connecting over the Network
-
-1. Make sure the radio is on the same local network as your phone/desktop.
-2. On the Connect screen, select **Network** in the transport selector.
-3. Choose the radio one of two ways:
-   - **Scan for network devices** — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / `_meshtastic._tcp`). Discovered devices appear in the list; tap one to connect.
-   - **Add device manually…** — enter the radio's IP address (or hostname) and port (default: `4403`).
-4. Previously-used network addresses are remembered under **Recent Network Devices** for quick reconnection (long-press to remove one).
-
-> 💡 **Tip:** Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.
-
-### 何時使用 TCP
-
-- 無線電裝置與裝置位於同一區域網路
-- 使用模擬無線電裝置進行測試
-- 藍牙訊號受干擾的環境
-
-## 重新連線行為
-
-應用程式啟動時將自動重新連接至上次選取的裝置。 您可隨時在連線畫面切換傳輸方式。
-
-若要中斷連線,請點選連線畫面上的中斷連線按鈕:
-
-![Disconnect from radio](../../assets/screenshots/connections_disconnect.png)
-
-## 桌面版連線
-
-在桌面版(Linux/macOS/Windows)上,應用程式支援:
-
-- 藍牙(BLE)—— 透過 Kable 函式庫;支援 macOS、Linux 及 Windows
-- USB 序列埠 — 主要的有線連線方式
-- TCP/IP — 適用於透過網路連線的無線電裝置
-
-請參閱〔桌面版應用程式〕(desktop) 以了解各平台的詳細說明與鍵盤快速鍵。
-
-## 相關主題
-
-- 〔快速入門〕(onboarding) — 首次啟動的設定與權限
-- 〔設定 — 無線電與使用者〕(settings-radio-user) — 藍牙與網路設定
-- 〔桌面版應用程式〕(desktop) — 桌面版連線詳細說明
-- 〔支援的裝置〕(https://meshtastic.org/docs/hardware/devices)— meshtastic.org 上的完整相容無線電裝置清單
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/debug-logs.html b/v2.8.0/docs/zh-rTW/user/debug-logs.html deleted file mode 100644 index 08f6bcc827..0000000000 --- a/v2.8.0/docs/zh-rTW/user/debug-logs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Debug Logs - - - -
# Debug Logs
-
-When something misbehaves, the app's debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them **for you, from inside the app** — you no longer need `adb` or any desktop tooling to collect them.
-
-Open the **Debug Panel** from **Settings → Advanced → Debug Panel**.
-
-> 📎 **Filing an issue?** Export your logs (see below) and attach the `.txt` file to your report at [github.com/meshtastic/Meshtastic-Android/issues](https://github.com/meshtastic/Meshtastic-Android/issues). A log capture that covers the moment the problem happened turns "it doesn't work" into something a developer can actually track down.
-
-## The two tabs
-
-The Debug Panel has two tabs:
-
-- **Packets** — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
-- **App logs** — the app's own diagnostic log (Android _logcat_), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.
-
-Each tab has its own **export** button and produces its own file, so you can grab whichever is relevant — or both.
-
-## Viewing app logs
-
-The **App logs** tab shows the most recent log lines from **this app only** — never other apps on your device.
-
-- **Search** — type in the search box to filter to matching lines.
-- **Level filter** — the **V / D / I / W / E** chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
-- **Refresh** — the refresh icon re-reads the latest logs.
-
-Error and warning lines are tinted so problems stand out.
-
-## Exporting
-
-Tap the **download** icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example `meshtastic_logcat_20260701_143312.txt`) so repeated exports never overwrite each other.
-
-Attach that file to your GitHub issue.
-
-> 🔒 **Privacy:** Exports automatically **redact** private keys, admin keys, and session passkeys before writing the file. Channel PSKs are **not** redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.
-
-## 桌面版
-
-The desktop app has no system logcat, so the **App logs** tab shows the app's own captured log output instead. Search, filtering, and export work the same way.
-
-## 相關主題
-
-- [Help & In-App Docs](help-and-docs) — reading this documentation offline inside the app
-- [Connections](connections) — if the problem is getting connected to your radio in the first place
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/desktop.html b/v2.8.0/docs/zh-rTW/user/desktop.html deleted file mode 100644 index 10171d6419..0000000000 --- a/v2.8.0/docs/zh-rTW/user/desktop.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - 桌面版應用程式 - - - -
# 桌面版應用程式
-
-Meshtastic 桌面版應用程式透過 Kotlin Multiplatform 與 Android 版共用核心程式碼庫。 大多數功能在 Linux、macOS 及 Windows 上的運作方式完全相同。
-
-## 安裝
-
-### Linux
-
-- 從發布頁面下載.deb 或.AppImage 安裝套件
-- 或使用 ./gradlew :desktopApp:run 從原始碼自行建置
-
-### macOS
-
-- 從發布頁面下載.dmg 安裝套件
-- 或從原始碼自行建置
-
-### Windows
-
-- 從發布頁面下載.msi 安裝程式
-- 或從原始碼自行建置
-
-## 連接您的無線電裝置
-
-### USB 序列埠(主要方式)
-
-桌面版上最穩定可靠的連線方式:
-
-1. 請使用 USB 傳輸線連接您的 Meshtastic 無線電裝置。
-2. 應用程式應會自動偵測序列埠。
-3. 若未自動偵測到,請從連線選單中手動選取正確的序列埠。
-
-### TCP/IP
-
-若使用網路連線的無線電裝置:
-
-1. 輸入無線電裝置的 IP 位址與連接埠(預設:4403)。
-2. 點選「連線」。
-
-### 藍牙(BLE)
-
-桌面版透過 [Kable](https://github.com/JuulLabs/kable) 函式庫支援藍牙低功耗:
-
-1. 請確認您的系統配備藍牙介面卡。
-2. 應用程式將自動掃描附近的 Meshtastic 無線電裝置。
-3. 從連線畫面中選取您的裝置。
-
-## 功能對等性
-
- 功能                                           | Android | 桌面版 | 備註                                                                                        |
- -------------------------------------------- | ------- | --- | ----------------------------------------------------------------------------------------- |
- 訊息傳送                                         | ✓       | ✓   | 完全對等                                                                                      |
- 節點清單                                         | ✓       | ✓   | 完全對等                                                                                      |
- 地圖                                           | ✓       | ◐   | Map tab exists on desktop, but the interactive map view is Android-only                   |
- 設定                                           | ✓       | ✓   | 完全對等                                                                                      |
- 藍牙(BLE)                                      | ✓       | ✓   | 桌面版透過 Kable 支援                                                                            |
- 韌體更新                                         | ✓       | ✓   | In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android |
- 通知                                           | ✓       | ✓   | 原生作業系統通知                                                                                  |
- 小工具                                          | ✓       | ✗   | 僅限 Android                                                                                |
- Android Auto                                 | ✓       | ✗   | Android-only — not available on Desktop or iOS                                            |
- AI 助理(Chirpy)                                | ✓\*     | ✗   | 僅限 Google 版 Android                                                                       |
- App Functions (system AI) | ✓†      | ✗   | 僅限 Google 版 Android                                                                       |
-
-\*Chirpy AI 需要 Google 版 Android 14 以上版本,且須搭配支援的硬體。
-
-†App Functions exposes app actions to the Android system AI on Google flavor builds. See [App Functions](app-functions).
-
-## 介面差異
-
-桌面版應用程式採用相同的 Compose Multiplatform 介面,並針對較大螢幕與桌面操作方式進行調整。
-
-### 鍵盤快速鍵
-
-Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.)
-
- 快速鍵          | 動作         |
- ------------ | ---------- |
- **⌘/Ctrl+Q** | 結束應用程式     |
- **⌘/Ctrl+,** | 開啟設定       |
- **⌘/Ctrl+1** | 切換至訊息頁籤    |
- **⌘/Ctrl+2** | 切換至節點頁籤    |
- **⌘/Ctrl+3** | 切換至地圖頁籤    |
- **⌘/Ctrl+4** | 切換至連線頁籤    |
- **⌘/Ctrl+/** | Open About |
-
-### 視窗與系統匣
-
-- 調整視窗大小 — 響應式版面配置可依視窗尺寸自動調整
-- 系統匣 — 可最小化至系統匣,於背景持續進行 mesh 網路操作
-- 匣列選單 — 在系統匣圖示上按右鍵,可顯示視窗或結束程式
-- 滑鼠互動 — 支援停駐狀態與標準桌面導覽操作
-
-### 通知偏好設定
-
-桌面版應用程式提供應用程式內的切換開關,可控制顯示哪些通知 — 包含訊息、新節點及低電量警示。 請在應用程式中前往「設定 → 通知」進行設定。
-
-## 內建文件瀏覽器
-
-桌面版應用程式內建文件瀏覽器,無需離開應用程式即可快速存取說明內容。
-
-![Docs browser with table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-瀏覽器支援跨所有文件的全文搜尋:
-
-![Searching the docs browser](../../assets/screenshots/docs-browser_search.png)
-
-各文件頁面以完整格式呈現:
-
-![A documentation page](../../assets/screenshots/docs-browser_page.png)
-
-## 從原始碼建置
-
-```bash
-git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-```
-
-需求:
-
-- JDK 21
-- 純桌面版建置不需要 Android SDK
-
-## 已知限制
-
-- The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
-- 部分 Android 專屬功能(小工具、特定通知頻道)無法使用
-- 在低規格硬體上執行 Compose Desktop 時,效能可能有所不同
-- 桌面版尚不支援 BLE 綁定(配對功能可在不綁定的情況下正常使用)
-
-## 相關主題
-
-- 〔連線〕(connections) — 連線方式概覽
-- [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/discovery.html b/v2.8.0/docs/zh-rTW/user/discovery.html deleted file mode 100644 index 56462c8377..0000000000 --- a/v2.8.0/docs/zh-rTW/user/discovery.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - 尋找 - - - -
# 尋找
-
-探索工具可協助您了解 mesh 網路的連線方式——哪些節點彼此可以收到訊號、訊息所經過的路徑,以及哪裡存在瓶頸或訊號薄弱的連結。
-
-The app offers two complementary approaches:
-
-- **Local Mesh Discovery (Scanner)** — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
-- **Manual exploration** — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.
-
-------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- **LoRa preset picker** | Select one or more presets to scan. Discovery dwells on each selected preset in turn.                                                                                                          |
- **Dwell time**         | Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer. |
- **Keep screen awake**  | Optional toggle that prevents the screen from sleeping during a long scan.                                                                                                                                     |
-
-The **Start** button stays disabled — with an explanation of why — until the scan can run. Common reasons it's disabled:
-
-- The device is **not connected**.
-- **No presets** have been selected to scan.
-- The selected preset uses **2.4 GHz**, which your hardware doesn't support.
-
-### Live Progress
-
-While a scan runs, Discovery shows its current stage:
-
- Stage                                                 | What's happening                                                                                       |
- ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
- **Preparing**                                         | Saving your current configuration and getting ready to scan.                           |
- **Shifting to \<preset\>** | Switching the radio to the next preset to test.                                        |
- **Reconnecting**                                      | Re-establishing the connection after the preset change.                                |
- **Dwell**                                             | Listening on the current preset to collect packets, with a countdown to the next step. |
- **Analysis**                                          | Processing the collected packets and ranking the presets.                              |
- **Restoring**                                         | Putting your original LoRa configuration back.                                         |
-
-![Dwell countdown showing time remaining on the current preset](../../assets/screenshots/discovery_dwell_progress.png)
-
-### 解讀結果
-
-When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.
-
-![Per-preset result card with ranking and collected metrics](../../assets/screenshots/discovery_preset_result.png)
-
-Metrics include:
-
- 公制(公里/公尺)                                | What it tells you                                                                              |
- ---------------------------------------- | ---------------------------------------------------------------------------------------------- |
- RF health                                | Overall quality of the radio environment on that preset.                       |
- 頻道使用率                                    | How busy the airwaves were during the dwell.                                   |
- Airtime                                  | Transmission time observed.                                                    |
- Direct vs. relayed nodes | How many mesh nodes were heard directly versus via a relay.                    |
- Bad / duplicate packets                  | Counts of corrupt and repeated packets, indicating congestion or interference. |
-
-Additional features available from the results:
-
-- **Scan History** — saved sessions you can revisit; view or delete past scans.
-- **Discovery Map** — a map of the nodes found during the scan.
-- **Report export** — export a report as a PDF on Android, or as text on other platforms.
-
-> 💡 **Tip:** On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn't available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.
-
-## Manual Exploration
-
-The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.
-
-## 路由追蹤
-
-路由追蹤可顯示訊息從您的節點到 mesh 網路上任一節點所經過的確切路徑。 這是診斷連線問題最有效的工具。
-
-### 執行路由追蹤
-
-1. 前往「節點」,並點選您要追蹤的節點。
-2. 在節點詳細資訊畫面上,點選「路由追蹤」。
-3. 應用程式將發送路由追蹤請求並等待回應。
-4. 結果將依序顯示每一個跳躍點,並呈現每個步驟的訊號品質。
-
-### 解讀結果
-
-路由追蹤結果的顯示方式如下:
-
-```
-你 → 裝置 A (SNR: 8.5, RSSI: -95) → 裝置 B (SNR: 5.2, RSSI: -108) → 目標
-```
-
-每個跳躍點代表一個轉送該訊息的中繼節點。 每個跳躍點的 SNR 與 RSSI 數值可反映該路段的連線品質。
-
- 判讀重點                                                                              | 代表意義                           |
- --------------------------------------------------------------------------------- | ------------------------------ |
- All hops show Good SNR (≥ −7 dB, green)                        | 路徑狀況良好 — 訊息可穩定傳送               |
- One hop shows Bad SNR (< −15 dB, red) | 訊號薄弱 — 此中繼路段不穩定                |
- 跳躍點過多(4 個以上)                                                                      | 路徑過長 — 建議調整節點位置以縮短路徑           |
- 重試時走不同路徑                                                                          | Mesh 網路正在自動調整 — 存在多條路由(這是好現象!) |
-
-> 💡 提示:請在幾分鐘內多次執行路由追蹤。 若路徑發生變化,代表您的 mesh 網路具備備援路由 — 這是網路連線良好的象徵。
-
-### 使用路由追蹤進行疑難排解
-
-- 「找不到路由」— 目標節點可能已離線、超出範圍,或使用不同的頻道。 請確認兩個節點至少共用一個使用相同加密金鑰的頻道。
-- 「路由追蹤逾時」— 路徑可能過長(超過跳躍限制),或某中繼節點發生壅塞。 請嘗試在「設定 → LoRa 設定」中提高跳躍限制。
-- 非對稱路徑 — 從 A → B 的路由追蹤路徑,可能與 B → A 不同。 這屬於正常現象 — 無線電訊號的傳播並不總是對稱的。
-
-## 將節點清單作為探索工具
-
-善用節點清單的篩選與排序功能,即可將其作為強大的探索工具。
-
-### 尋找新節點
-
-- 依「最後收到訊號」排序,可將最近有活動的節點顯示於頂部。
-- 啟用「包含未知節點」,可顯示已出現於 mesh 網路但尚未傳送使用者資訊的節點 — 這些通常是剛開機的裝置。
-
-### 評估連線狀況
-
-- 依「跳躍距離」排序,可區分可直接到達的節點(0 個跳躍點)與需中繼轉送的節點。
-- 依「距離」排序,可找出附近的節點並確認是否可到達。
-- 使用「排除 MQTT」,可專注於透過無線電(而非網際網路橋接)可到達的節點。
-
-### 基礎架構稽核
-
-- Disable **Exclude infrastructure** to see Router, Router Late, and Client Base nodes.
-- 檢查其訊號品質與最後收到訊號的時間,以確認基礎架構節點運作正常。
-
-請參閱〔節點〕(nodes) 以了解完整的篩選與排序選項說明。
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/firmware.html b/v2.8.0/docs/zh-rTW/user/firmware.html deleted file mode 100644 index 2e508dde70..0000000000 --- a/v2.8.0/docs/zh-rTW/user/firmware.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - 韌體更新 - - - -
# 韌體更新
-
-保持 Meshtastic 無線電裝置的韌體為最新版本,以取得新功能、錯誤修正與安全性改善。
-
-## 檢查更新
-
-1. Open the connected radio's configuration and, under **Advanced**, tap **Firmware Update**. The entry appears only for OTA-capable devices.
-2. 應用程式將檢查可用的韌體版本。
-3. 如有可用更新將顯示版本號碼與更新記錄摘要。
-
-## 更新方式
-
-### OTA(無線空中下載)透過藍牙
-
-Android 使用者最常用的更新方式:
-
-1. 請確認您的無線電裝置已透過藍牙連線。
-2. 前往韌體更新畫面。
-3. 選取所需的韌體版本。
-4. 點選「更新」以開始 OTA 流程。
-5. 請等待更新完成 — 更新期間請勿中斷連線。
-
-![Firmware checking for updates](../../assets/screenshots/firmware_checking.png)
-
-> ⚠️ 警告:中斷韌體更新可能導致裝置變磚。 請確認無線電裝置電量充足(建議 50% 以上),並在整個更新過程中保持藍牙通訊距離。
-
-![Firmware disclaimer](../../assets/screenshots/firmware_disclaimer.png)
-
-### In-App USB Update
-
-When your radio is connected over **USB/serial** (rather than Bluetooth), the Firmware Update screen offers **USB File Transfer**. The app reboots the device into DFU mode, then prompts you to save the `.uf2` file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.
-
-> ℹ️ **nRF bootloader note:** Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor's serial DFU tool (such as `adafruit-nrfutil`) — copying the `.uf2` alone won't update the bootloader. The app surfaces a hint when this applies.
-
-### Other Flashing Options
-
-For recovery or when neither OTA nor in-app USB is available:
-
-- 請使用〔Meshtastic 網頁燒錄工具〕(https://flasher.meshtastic.org)
-- 或在桌面版使用〔Meshtastic CLI 工具〕(https://meshtastic.org/docs/getting-started/flashing-firmware)
-
-## 版本頻道
-
- 頻道        | 描述說明                                                                       |
- --------- | -------------------------------------------------------------------------- |
- 穩定版       | 建議大多數使用者採用;已測試的正式版本                                                        |
- Alpha 測試版 | 預覽版本;可能包含錯誤                                                                |
- 本機檔案      | Flash a firmware file you select yourself, instead of a downloaded release |
-
-## 更新前檢查清單
-
-更新前請確認:
-
-- [ ] 電量 > 50%
-- [ ] 藍牙連線穩定
-- [ ] 記錄目前的設定(主要版本更新時可能會重設)
-- [ ] 查看版本說明中是否有重大變更
-
-## 更新後
-
-After the firmware is written, the app verifies the update and waits for the device to come back online:
-
-![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png)
-
-Once the update succeeds:
-
-- 無線電裝置將自動重新開機
-- 藍牙連線將自動重新建立
-- 確認您的設定完整無缺
-- Confirm the new version under **Currently Installed** on the Firmware Update screen — it's also shown on the node's detail page and the Connections screen
-
-![Firmware update success](../../assets/screenshots/firmware_success.png)
-
-## 故障排除
-
-### 更新卡住
-
-若更新似乎停滯不動:
-
-- 請至少等待 5 分鐘再採取行動
-- 若確實卡住,請將無線電裝置重新開關機
-- 再次嘗試更新
-
-![Firmware update error](../../assets/screenshots/firmware_error.png)
-
-### 更新後裝置無法開機
-
-若您的裝置無法開機:
-
-1. 請嘗試透過 USB 連接至電腦
-2. 在復原/DFU 模式下使用網頁燒錄工具
-3. 燒錄已知可正常運作的韌體版本
-4. 前往 Meshtastic Discord 查詢特定裝置的復原步驟
-
-### 相容性警告
-
-應用程式在以下情況可能顯示警告:
-
-- 已連接的無線電裝置韌體低於最低支援版本
-- 應用程式與韌體之間的主要版本不相符
-- 已棄用的功能需要進行遷移
-
-> ⚠️ 重要:請在韌體更新之前或同時更新 Meshtastic 應用程式,以確保相容性。
-
-## 相關主題
-
-- 〔連線〕(connections)——韌體更新後重新連線
-- (https://meshtastic.org/docs/getting-started/flashing-firmware) — meshtastic.org 上的完整韌體燒錄操作說明
-- 〔支援的裝置〕(https://meshtastic.org/docs/hardware/devices) https://meshtastic.org/docs/hardware/devices — 依裝置查詢韌體相容性
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/help-and-docs.html b/v2.8.0/docs/zh-rTW/user/help-and-docs.html deleted file mode 100644 index 9f2c3431a6..0000000000 --- a/v2.8.0/docs/zh-rTW/user/help-and-docs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Help & In-App Docs - - - -
# Help & In-App Docs
-
-This same user documentation ships **inside the app**, so you can read it offline without leaving Meshtastic. Open it from **Settings → Help & Documentation**.
-
-## Browsing
-
-The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.
-
-![In-app documentation browser table of contents](../../assets/screenshots/docs-browser_toc.png)
-
-### 搜尋
-
-Tap the search icon and type to filter pages by title and keywords — results update as you type.
-
-![Searching the in-app documentation](../../assets/screenshots/docs-browser_search.png)
-
-A page open in the browser:
-
-![A documentation page rendered in the app](../../assets/screenshots/docs-browser_page.png)
-
-## Chirpy — the AI Assistant
-
-**Chirpy** answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.
-
-![Chirpy AI assistant answering a question with page links](../../assets/screenshots/docs-browser_chirpy.png)
-
-> 🔒 **Privacy:** On supported Google-flavor devices, Chirpy runs **on-device** using Gemini Nano — your questions never leave your phone. A small model downloads on first use.
-
-> ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally.
-
-## 相關主題
-
-- [Translate the App](translate) — how these pages get localized into other languages
-- [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy)
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/map-and-waypoints.html b/v2.8.0/docs/zh-rTW/user/map-and-waypoints.html deleted file mode 100644 index 05875a334b..0000000000 --- a/v2.8.0/docs/zh-rTW/user/map-and-waypoints.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - 地圖與航點 - - - -
# 地圖與航點
-
-地圖畫面顯示 mesh 網路上各節點的地理位置,以及已分享的航點。
-
-## 地圖檢視
-
-地圖顯示以下內容:
-
-- 節點位置 — 每個回報位置的節點以彩色標記顯示
-- 航點 — 已分享的興趣點
-- 您的位置 — 您目前的 GPS 定位
-
-### 節點標記
-
-Each node that reports a position is shown as a **node chip** marker displaying the node's short name. The chip is colored by the node's own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does **not** encode online/offline status. When a node's position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.
-
-### 地圖控制項
-
-- 縮放 — 雙指縮放或使用 +/- 按鈕
-- 平移 — 拖曳以瀏覽地圖
-- 置中 — 點選位置按鈕,使地圖以您的位置為中心
-- 點選節點 — 點選節點標記以檢視詳細資訊
-
-浮動工具列提供快速存取羅盤、圖層切換、節點篩選、重新整理及位置追蹤等功能。 點選羅盤可重新對齊正北方向,或點選位置按鈕使地圖以您目前位置為中心。
-
-![Map controls overlay](../../assets/screenshots/map_controls_overlay.png)
-
-## 航點
-
-航點是可分享的地理興趣點,mesh 網路上的所有成員均可看見。
-
-### 建立航點
-
-1. 在地圖上的目標位置長按。
-2. 輸入名稱及選填的說明。
-3. 為航點選擇圖示或表情符號。
-4. 點選「傳送」以分享至 mesh 網路。
-
-Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.
-
-### 航點屬性
-
- 屬性       | 描述說明                                                    |
- -------- | ------------------------------------------------------- |
- 名稱       | Short identifier (max 29 characters) |
- 描述說明     | 選填的較長說明                                                 |
- 圖示       | 地圖上的視覺標記表情符號                                            |
- 鎖定       | 若已鎖定,僅建立者可編輯或刪除                                         |
- 到期時間     | Optional auto-remove date and time                      |
- Geofence | Optional enter/exit alert area — see below              |
-
-### 航點到期設定
-
-航點可設定為自動到期:
-
-- 永不到期(預設)— 航點將保留至手動刪除為止
-- **Timed** — pick a specific date and time; the waypoint is automatically removed once that time passes. 適用於臨時標記,例如集合點、危險區域或會面地點。
-
-已到期的航點將自動從地圖上隱藏,以避免畫面雜亂。 The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.
-
-### Waypoint Geofences
-
-Any waypoint can also define a **geofence** — an alert area — so you or others get notified when a node enters or leaves it:
-
-1. Set a **geofence radius** from the preset chips (or **Off** to disable), or tap **Set area on map** to draw a custom rectangular area instead.
-2. Once a region is set, toggle **Notify on enter** and/or **Notify on exit**.
-3. Optionally enable **Favorites only** to limit alerts to your favorited nodes.
-
-Since waypoints (and their geofences) are broadcast to the whole mesh, only the **creator** is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a **"Notify me of crossings"** opt-in so you can also receive enter/exit alerts for it.
-
-### 管理航點
-
-- 點選地圖上的航點,可檢視其詳細資訊與座標
-- 編輯或刪除您建立的航點
-- 已鎖定的航點無法被其他節點修改或刪除 — 僅原始建立者可進行變更
-- 未鎖定的航點可由任何 mesh 成員編輯
-
-## 地圖圖層
-
-Tap the layers icon on the map to open **Manage Map Layers**, where you can import your own overlays in `.kml`, `.kmz`, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.
-
-### Site Planner
-
-**Site Planner** estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node's detail page via **Estimate coverage** (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.
-
-## 位置分享
-
-### 啟用位置分享
-
-您的節點依據以下方式分享 GPS 位置:
-
-- 固定間隔 — 依固定時間間隔廣播位置
-- 智慧位置 — 移動距離超過閾值時才廣播位置
-- 手動 — 僅在明確要求時才分享位置
-
-請在「設定 → 位置」中設定位置行為。
-
-### 隱私注意事項
-
-> 🔒 隱私:位置資料將廣播至您頻道上的所有節點。 若不想分享您的位置,請在設定中停用 GPS 定位,或使用固定/假位置。
-
-## 地圖來源
-
-The base map depends on your app flavor: **Google Play** builds use Google Maps, while **F-Droid** and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:
-
-- 衛星影像(視可用性而定)
-- 離線圖磚(下載地圖區域以供離線使用)
-
-## 相關主題
-
-- 〔節點〕(nodes) — 檢視與篩選您的節點清單
-- 〔節點數據〕(node-metrics) — 各節點的訊號品質與位置歷史記錄
-- 〔探索〕(discovery) — 路由追蹤與鄰近節點資訊,用於了解 mesh 網路拓撲
-- 〔單位與地區設定〕(units-and-locale) — 距離與座標的顯示格式
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/messages-and-channels.html b/v2.8.0/docs/zh-rTW/user/messages-and-channels.html deleted file mode 100644 index f967d3f8c7..0000000000 --- a/v2.8.0/docs/zh-rTW/user/messages-and-channels.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - 訊息與頻道 - - - -
# 訊息與頻道
-
-Meshtastic 支援兩種通訊模式:頻道廣播與私訊。
-
-## 頻道
-
-頻道是共享的通訊群組。 所有設定相同頻道金鑰的節點均可在該頻道上讀取與傳送訊息。
-
-### 預設頻道
-
-每台 Meshtastic 裝置均內建預設的 LongFast 頻道。 此為未加密頻道,供一般 mesh 網路通訊使用。
-
-### 頻道安全性
-
-頻道支援多種加密等級:
-
- 圖示 | 安全等級            | 描述說明                                           |
- -- | --------------- | ---------------------------------------------- |
- 🔒 | PSK(256 位元 AES) | 使用強力預共享金鑰進行完整加密。 僅持有相符金鑰的節點可讀取訊息。              |
- 🔐 | PSK(128 位元 AES) | 使用較短的金鑰進行加密。 適用於大多數情境,但敏感資料建議使用 256 位元加密。      |
- 🔓 | 預設/開放           | 使用眾所周知的預設金鑰。 使用相同預設值的任何 Meshtastic 裝置均可讀取這些訊息。 |
- ⚠️ | 不安全 + 位置        | 開放頻道,同時廣播您的 GPS 位置。 在公開 mesh 網路中使用時請謹慎。        |
-
-> 🔒 安全提示:私人通訊請務必設定專屬的 PSK。 預設頻道刻意設計為開放,以便新使用者能探索 mesh 網路 — 但對於任何敏感內容,請另行建立獨立的加密頻道。
-
-### 新增頻道
-
-1. 前往「設定 → 頻道」。
-2. 點選「新增頻道」或掃描 QR Code。
-3. 設定頻道名稱與加密金鑰。設定頻道名稱與加密金鑰。
-4. 將頻道網址或 QR Code 分享給需要加入的人。
-
-點選頻道可查看其詳細資訊與分享選項。
-
-## 私訊
-
-私訊(DM)是兩個特定節點之間的點對點加密通訊。
-
-### 傳送私訊
-
-1. 開啟「訊息」頁籤。
-2. 從聯絡人清單中選取節點,或在節點清單中點選節點。
-3. 輸入訊息後點選「傳送」。
-
-### 訊息狀態
-
-A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):
-
- 狀態                                  | 含義                                                                                                                                   |
- ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- Sending…                            | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
- Delivered to recipient              | The strongest confirmation for a direct message — an acknowledgment came back                                                        |
- 已傳送至 Mesh                           | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)                      |
- Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet                     |
- 透過 SF++ 鏈路由…                        | Being routed/buffered by the Store & Forward Plus Plus chain                                                     |
- 已在 SF++ 鏈上確認                        | Confirmed delivered via the SF++ chain                                                                                               |
- 錯誤                                  | Delivery failed — tap the status for the specific reason (see Delivery Errors below)                              |
-
-### 傳遞錯誤
-
-當訊息傳遞失敗時,錯誤指示器將顯示問題原因:
-
- 錯誤           | 含義            | 處理方式                                                                                           |
- ------------ | ------------- | ---------------------------------------------------------------------------------------------- |
- 無路由          | 無法找到通往目標節點的路徑 | 收件者可能已離線或超出 mesh 網路範圍。 請稍後再試,或靠近對方後重新傳送。                                                       |
- 收到 NAK       | 下一個跳躍點節點拒絕轉送  | 中繼節點可能發生壅塞。 請稍候後重試。                                                                            |
- Timeout - 超時 | 在重試時間內未收到確認回應 | 收件者可能剛好超出訊號範圍。 請嘗試提高跳躍限制,或移動至訊號較佳的位置。                                                          |
- 無介面          | 無可用的無線電介面進行傳送 | 請確認無線電裝置已連線,且頻道已正確設定。                                                                          |
- 已達最大重傳次數     | 所有重試次數均已用盡    | Mesh 網路路徑不穩定。 請嘗試切換至其他頻道,或等待網路狀況改善。                                                            |
- 無頻道          | 目標頻道不存在       | 請確認兩個節點使用相同的頻道設定。                                                                              |
- 訊息過大         | 訊息超過最大承載大小    | Shorten your message (max ~200 characters). |
- 無回應          | 節點已收到訊息但未回應   | 收件者的無線電裝置可能正忙碌,或處於低功耗睡眠模式。                                                                     |
- 佔空比限制        | 已達地區無線電佔用時間上限 | 您的無線電裝置已用完允許的傳輸時間。 請等待佔空比時間窗口重設(在歐盟地區通常為 1 小時)。                                                |
- 錯誤請求         | 格式錯誤或無效的訊息    | 這通常表示存在軟體錯誤。 請嘗試重新啟動應用程式。                                                                      |
-
-> 💡 提示:大多數傳遞錯誤會自動解決。 若節點間歇性可到達,mesh 網路將自動重試。 若持續出現「無路由」錯誤,請確認中間的路由器節點是否在線。
-
-## 訊息功能
-
-### 快速聊天
-
-預先設定的訊息,可快速進行通訊:
-
-- 透過訊息輸入區的快速聊天按鈕開啟
-- 從內建短語或自訂訊息中選取
-- 在「設定 → 快速聊天」中自訂快速聊天訊息
-- 適用於不便打字的情況(戴手套、螢幕過小、緊急狀況)
-
-![Quick chat option](../../assets/screenshots/messages_quick_chat.png)
-
-Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:
-
-![New quick chat dialog with name, message, and instantly-send toggle](../../assets/screenshots/messages_edit_quick_chat.png)
-
-頻道清單會顯示每個頻道及其最新訊息預覽。
-
-### Searching Messages
-
-You can search the full history of any conversation directly from the chat screen:
-
-1. Open a conversation (a channel or a direct message).
-2. Tap the **search icon** in the top bar.
-3. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
-4. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.
-
-![Message search bar with result counter and previous/next arrows](../../assets/screenshots/messages_search_bar.png)
-
-> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.
-
-### 訊息泡泡
-
-訊息以對話泡泡的形式顯示 — 已傳送的訊息在右側,收到的訊息在左側。 每個泡泡顯示傳送者、時間戳記及傳遞狀態。 含有回覆的訊息,會在回覆內容上方顯示原始訊息的引用預覽。
-
-### Text Formatting
-
-Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:
-
- 類型            | Syntax                         | Renders as           |
- ------------- | ------------------------------ | -------------------- |
- Bold          | `**bold**`                     | **bold**             |
- Italic        | `*italic*`                     | _italic_             |
- Strikethrough | `~~strike~~`                   | ~~strike~~           |
- Inline code   | `` `code` ``                   | monospace `code`     |
- Link          | `[label](https://example.com)` | a tappable **label** |
-
-When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.
-
-> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.
-
-### Mentions
-
-Type `@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.
-
-### 訊息回應
-
-以表情符號對訊息作出回應:
-
-- 長按訊息以開啟動作選單
-- 點選「新增回應」以選擇表情符號
-- 訊息回應顯示於訊息泡泡下方
-- 多位使用者可對同一則訊息作出回應
-- 可對自己或他人的訊息作出回應
-
-![Emoji reaction badges displayed beneath a message](../../assets/screenshots/messages_reaction.png)
-
-> 💡 提示:訊息回應非常輕量 — 相較於完整文字訊息,佔用極少的 mesh 網路頻寬。
-
-### 訊息動作
-
-長按任意訊息可使用以下功能:
-
-- 複製 — 將訊息文字複製至剪貼簿
-- 回覆 — 在回覆中引用該訊息
-- 回應 — 新增表情符號回應
-- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
-- 刪除 — 移除您傳送的訊息(僅限本機刪除)
-
-### 訊息優先順序
-
-訊息依優先順序排入佇列並傳送:
-
-1. 緊急/警示訊息(最高)
-2. 私訊
-3. 頻道廣播(最低)
-
-### 訊息限制
-
-- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
-- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
-- 速率限制:mesh 網路會執行無線電佔用時間公平性管制;大量訊息可能會被節流
-- 傳遞:若未收到確認回應,訊息將自動重試
-
-## 最佳實踐
-
-- 群組協調請使用頻道
-- 個人私下通訊請使用私訊
-- 訊息請盡量簡短 — mesh 網路頻寬有限
-- 敏感通訊請設定加密
-
-## 相關主題
-
-- 〔節點〕(nodes) — 點選節點以開始傳送私訊
-- 〔設定——無線電與使用者〕(settings-radio-user) — 設定頻道加密與預設值
-- 〔MQTT〕(mqtt) — 將頻道訊息橋接至網際網路
-- [Channel configuration](https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/mqtt.html b/v2.8.0/docs/zh-rTW/user/mqtt.html deleted file mode 100644 index ae641c94e2..0000000000 --- a/v2.8.0/docs/zh-rTW/user/mqtt.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - MQTT - - - -
# MQTT
-
-MQTT 將您的 Meshtastic mesh 網路橋接至網際網路,實現超越無線電範圍的長距離通訊。
-
-## 概觀
-
-MQTT 模組可將您的節點連接至 MQTT 代理伺服器,實現以下功能:
-
-- 透過網際網路傳送訊息至不同實體 mesh 網路上的節點
-- 與智慧家庭自動化及監控系統整合
-- 將節點位置發布至公開的 Meshtastic 地圖
-- 自訂資料管線,用於記錄與警示通知
-
-## 運作方式
-
-```
-〔您的節點〕→ 無線電 → 〔具備 Wi-Fi 的閘道節點〕→ MQTT 代理伺服器 → 〔遠端閘道〕→ 無線電 → 〔遠端節點〕
-```
-
-具備網際網路連線(Wi-Fi 或乙太網路)的閘道節點,將 mesh 訊息發布至 MQTT 主題。 訂閱相同主題的遠端閘道,將這些訊息注入其本地 mesh 網路。
-
-## 設定
-
-### 啟用 MQTT
-
-1. 前往「設定 → 模組設定 → MQTT」。
-2. 啟用 MQTT 模組。
-3. 設定代理伺服器連線:
-
-![MQTT toggle switch](../../assets/screenshots/settings_switch.png)
-
- 設定          | 描述說明                            | 默認                                                  |
- ----------- | ------------------------------- | --------------------------------------------------- |
- 伺服器位址       | MQTT 代理伺服器主機名稱                  | mqtt.meshtastic.org |
- 使用者名稱       | 代理伺服器驗證                         | meshdev                                             |
- 密碼          | 代理伺服器驗證                         | large4cats                                          |
- 根主題         | 訊息的基礎主題                         | msh                                                 |
- 加密          | 加密 MQTT 承載內容                    | 已啟用                                                 |
- ~~JSON 輸出~~ | ⚠️ 已棄用——韌體已移除 JSON 封包支援;此欄位將被忽略 | 已停用                                                 |
- TLS         | 與代理伺服器的安全連線                     | 已停用                                                 |
- 地圖回報        | 將位置回報至公開地圖                      | 已停用                                                 |
-
-### MQTT Proxy on This Phone
-
-If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable **MQTT** and **Proxy to client enabled** in the module config, and the app relays MQTT traffic between the radio and the broker over your phone's internet connection.
-
-The **MQTT proxy on this phone** toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device's MQTT configuration.
-
-### 預設 Meshtastic 代理伺服器
-
-社群在 mqtt.meshtastic.org 維護一個公開的代理伺服器。 此伺服器供一般使用與測試之用。
-
-> ℹ️ **Note:** Connections to `mqtt.meshtastic.org` always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).
-
-> 🔒 隱私:公開代理伺服器上的訊息,任何訂閱者均可讀取。 私人通訊請務必啟用頻道加密。
-
-### 私有代理伺服器
-
-為了獲得更好的隱私保護與控制權,您可以自行架設 MQTT 代理伺服器:
-
-- Mosquitto(輕量、開放原始碼)
-- HiveMQ
-- EMQX
-
-請將您的節點設定為指向私有代理伺服器,並輸入相應的登入憑證。
-
-## 地圖回報
-
-啟用地圖回報後,您的節點將把位置發布至 Meshtastic 社群地圖:
-
-- 可在〔meshmap.net〕(https://meshmap.net) 及類似的社群地圖服務上查看
-- 僅分享位置與節點資訊
-- 若不希望位置公開顯示,請停用此功能
-
-## 上行 vs 下行
-
- 方向 | 描述說明                     |
- -- | ------------------------ |
- 上行 | 訊息從 mesh 網路 → MQTT 代理伺服器 |
- 下行 | 訊息從 MQTT 代理伺服器 → mesh 網路 |
-
-可依頻道設定哪些方向為啟用狀態,以控制訊息流向與無線電佔用時間。
-
-## 訊息格式
-
-MQTT 使用 protobuf 訊息格式:
-
- 格式           | 描述說明                       | 使用情境        |
- ------------ | -------------------------- | ----------- |
- **Protobuf** | 二進位 Meshtastic protobuf 編碼 | 節點間 mesh 橋接 |
-
-> ⚠️ 注意:韌體已移除 JSON 輸出支援。 Json_enabled 設定在應用程式中仍會顯示,以維持舊版相容性,但對目前的韌體版本不會產生任何效果。
-
-## 加密與隱私
-
-了解分層加密模型:
-
-1. 頻道加密在 mesh 網路上進行,發生於 MQTT 傳輸之前。 若您的頻道已設定 PSK,MQTT 承載內容將已加密——代理伺服器及任何訂閱者只能看到密文。
-2. MQTT 加密(模組設定)在傳輸至代理伺服器的過程中新增額外的加密層。 此設定可保護中繼資料與路由資訊。
-3. TLS 對連接至代理伺服器的 TCP 連線進行加密,防止網路層級的竊聽。
-
-> 🔒 重要:預設公開頻道使用眾所周知的金鑰。 透過 MQTT 傳送的預設頻道訊息實際上等同於未加密 — 任何人均可解碼。 私人通訊請務必使用自訂 PSK。
-
-## 最佳實踐
-
-- 在橋接至 MQTT 的頻道上使用頻道層級加密(PSK)
-- 請勿在無法連接網際網路的節點上啟用 MQTT(這將導致緩衝堆積並浪費記憶體)
-- 敏感部署環境請使用私有代理伺服器
-- 從繁忙的 MQTT 主題下行訊息時,請留意無線電佔用時間——每則下行訊息都會消耗本地 mesh 網路的無線電佔用時間
-- 若僅需遠端監控 mesh 網路而不需注入訊息,建議僅啟用上行模式
-
-## 故障排除
-
-### MQTT 無法連線
-
-- 檢查 Wi-Fi——閘道節點必須具備有效的網際網路連線(Wi-Fi 或乙太網路)。 MQTT 無法直接透過 LoRa 無線電連結運作。
-- 確認登入憑證 — 帳號或密碼錯誤在大多數代理伺服器上會靜默失敗,不顯示錯誤訊息。 請仔細確認是否有多餘的尾端空白字元。
-- 防火牆 — 連接埠 1883(MQTT)或 8883(MQTT+TLS)必須開放。 部分網路會封鎖非標準連接埠。
-- DNS 解析 — 若使用自訂代理伺服器主機名稱,請確認節點能夠正確解析該名稱。 請嘗試直接使用代理伺服器的 IP 位址進行連線。
-
-### 訊息未正常橋接
-
-- 檢查上行/下行設定 — 若僅啟用上行,訊息只會從 mesh 網路流向 MQTT,不會反向傳送。 請在接收端閘道上啟用下行功能。
-- 頻道不符 — 兩個閘道必須使用相同頻道且具備相同的 PSK。 不符時,訊息將以不同金鑰加密,導致對方收到的內容為亂碼。
-- 主題不符 — 請確認兩個閘道使用相同的根主題。 預設的 msh 適用於公開代理伺服器。
-
-## 相關主題
-
-- 〔設定 — 模組與管理〕(settings-module-admin) — MQTT 模組設定參考
-- 〔訊息與頻道〕(messages-and-channels) — 頻道加密與 PSK 設定
-- 〔MQTT 整合指南〕(https://meshtastic.org/docs/software/integrations/mqtt) — meshtastic.org 上的完整 MQTT 說明文件
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/node-metrics.html b/v2.8.0/docs/zh-rTW/user/node-metrics.html deleted file mode 100644 index 5ee919e098..0000000000 --- a/v2.8.0/docs/zh-rTW/user/node-metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Node Metrics - - - -
# Node Metrics
-
-The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.
-
-## 裝置計量資料
-
-Basic operating information reported by each node:
-
- 公制(公里/公尺)     | 描述說明                                |
- ------------- | ----------------------------------- |
- Battery Level | Current battery percentage          |
- 電壓            | Battery voltage reading             |
- 頻道使用量         | Percentage of airtime consumed      |
- Airtime       | Transmission time used by this node |
- 運行時間          | Time since last reboot              |
-
-Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.
-
-> 💡 **Tip:** Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.
-
-## 環境計量資料
-
-Environmental sensor data (requires compatible hardware):
-
- 公制(公里/公尺)                            | Sensor Examples       |
- ------------------------------------ | --------------------- |
- 溫度                                   | BME280, BME680, SHT31 |
- 濕度                                   | BME280, BME680, SHT31 |
- 大氣壓力                                 | BME280, BMP280        |
- 氣體感測器                                | BME680                |
- IAQ (Air Quality) | BME680                |
-
-Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.
-
-The BME680 **IAQ (Indoor Air Quality)** index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from _Excellent_ to _Dangerously Polluted_:
-
-![IAQ index scale from Excellent to Dangerously Polluted](../../assets/screenshots/node-metrics_iaq_scale.png)
-
-> 💡 **Tip:** Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See [Telemetry & Sensors](telemetry-and-sensors) for a full list of supported sensors.
-
-## Air Quality Metrics
-
-Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is **separate from the BME680 IAQ reading** listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.
-
- 公制(公里/公尺)             | 單位        | 描述說明                                                                                                                                                                                                                       |
- --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- PM1.0 | µg/m³     | Particulate matter up to 1.0 micron                                                                                                                                                                        |
- PM2.5 | µg/m³     | Particulate matter up to 2.5 microns                                                                                                                                                                       |
- PM10                  | µg/m³     | Particulate matter up to 10 microns                                                                                                                                                                                        |
- AQI                   | EPA index | EPA **NowCast** AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated. |
- CO₂                   | ppm       | Carbon dioxide concentration                                                                                                                                                                                               |
- CO₂ temperature       | °C / °F   | Temperature reported by the CO₂ sensor itself (e.g. SCD4x)                                                                                                              |
- CO₂ humidity          | %         | Relative humidity reported by the CO₂ sensor                                                                                                                                                                               |
-
-CO₂ readings are color-coded by severity to make air quality easy to read at a glance:
-
- Band     | CO₂ Range (ppm) | 顏色         |
- -------- | ---------------------------------- | ---------- |
- 良好       | < 1000    | Green - 綠色 |
- Stuffy   | < 2000    | Amber      |
- Poor     | < 5000    | 橙色         |
- Unsafe   | < 30000   | Red - 紅色   |
- Evacuate | ≥ 30000                            | Dark red   |
-
-![Air quality readings with color-coded CO₂ severity](../../assets/screenshots/node-metrics_air_quality.png)
-
-An air-quality log/metrics button appears on the node detail screen **only when the node has reported air-quality telemetry**. From the Air Quality view you can:
-
-- Select a **time frame** for the charts.
-- Filter with **metric chips** — only metrics that have data are shown.
-- **Refresh / request** the latest air-quality telemetry.
-- **Export to CSV** for analysis in a spreadsheet.
-
-> 💡 **Tip:** Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won't appear. See [Telemetry & Sensors](telemetry-and-sensors) for supported hardware.
-
-## Signal Metrics
-
-Radio signal quality information:
-
- 公制(公里/公尺)   | 描述說明                                                                           |
- ----------- | ------------------------------------------------------------------------------ |
- SNR         | Signal-to-Noise Ratio (higher is better)                    |
- RSSI        | Received Signal Strength Indicator (closer to 0 is better)  |
- Noise Floor | Local background RF noise in dBm (more negative is quieter) |
- 跳躍次數        | Number of mesh hops for last message                                           |
-
-### Signal Quality Reference
-
-Signal quality is rated from **SNR relative to the active LoRa modem preset's demodulation floor**, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting `limit` be the preset's SNR limit:
-
- Quality | Criteria                                                         |
- ------- | ---------------------------------------------------------------- |
- 良好      | SNR above the preset's limit                                     |
- 普通      | less than 5.5 dB below the limit                 |
- 不良      | 5.5 dB to 7.5 dB below the limit |
- 無       | more than 7.5 dB below the limit                 |
-
-See [Understanding the Signal Meter](signal-meter) for the full explanation.
-
-Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use **Request** to ask the connected radio for a fresh Local Stats telemetry report, **Clear** to remove Local Stats logs for that node, and **Save** to export the visible Local Stats history as CSV.
-
-## 電源計量資料
-
-Power management telemetry (requires INA sensor or compatible hardware):
-
- 公制(公里/公尺)   | 描述說明                    |
- ----------- | ----------------------- |
- Bus Voltage | Supply voltage          |
- 目前          | Power draw in milliamps |
- 電力          | Calculated wattage      |
-
-## 路由追蹤
-
-Traceroute shows the path a message takes through the mesh:
-
-1. From the node detail screen, tap **Traceroute**.
-2. The app sends a traceroute request to the target node.
-3. Results show each hop with SNR/RSSI values.
-
-### Reading Traceroute Results
-
-```
-You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-```
-
-Each hop represents a relay node that forwarded the message.
-
-## 定位日誌
-
-Historical position data for nodes that share their location:
-
-- GPS coordinates
-- 海拔高度
-- Speed (if moving)
-- Timestamp for each position report
-
-## 鄰近節點資訊
-
-Shows which nodes a given node can directly hear, useful for understanding mesh topology.
-
-## Viewing Metrics
-
-1. Navigate to **Nodes**.
-2. Tap the node you want to inspect.
-3. Select the metric category from the detail tabs.
-
-![Node detail — local device](../../assets/screenshots/nodes_detail_local.png)
-
-The position tab shows location data for nodes that share GPS:
-
-![Position inline content](../../assets/screenshots/nodes_position.png)
-
-> ⚠️ **Note:** Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node's telemetry settings.
-
-## Related Topics
-
-- [Nodes](nodes) — node list, filtering, and sorting
-- [Telemetry & Sensors](telemetry-and-sensors) — supported sensors and configuration
-- [Signal Meter](signal-meter) — how signal quality is calculated from SNR and RSSI
-- [Discovery](discovery) — traceroute details and neighbor info
-- [Units & Locale](units-and-locale) — temperature, distance, and speed display formats
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/nodes.html b/v2.8.0/docs/zh-rTW/user/nodes.html deleted file mode 100644 index cc74e110f7..0000000000 --- a/v2.8.0/docs/zh-rTW/user/nodes.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - 節點 - - - -
# 節點
-
-The Nodes screen displays all devices visible on your mesh network.
-
-## Node List
-
-The node list shows every node your radio has heard, including:
-
-- **Node name** — user-configured long name
-- **Short name** — 4-character identifier
-- **Signal quality** — last heard signal strength
-- **Last heard** — time since last communication
-- **Distance** — estimated distance (if positions are shared)
-- **Battery** — remote node battery level (if telemetry is enabled)
-
-### Node Status Indicators
-
- Badge      | Meaning                             |
- ---------- | ----------------------------------- |
- 🟢 Online  | Node heard within the last 2 hours  |
- ⚪ Offline  | Node not heard for over 2 hours     |
- ⭐ Favorite | Node marked as favorite by the user |
-
-A node is considered **online** if it was heard within the last 2 hours, and **offline** otherwise — there is no separate "away" tier.
-
-### Node Roles
-
-Nodes can be configured with different roles that affect their mesh behavior:
-
- 角色                               | 描述說明                                                                                                                                                   |
- -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
- 用戶端                              | Standard end-user device                                                                                                                               |
- 客戶端基礎模式                          | Treats favorited-node traffic as Router Late priority; all other traffic as Client                                                                     |
- Client Mute                      | Receives but doesn't retransmit                                                                                                                        |
- Client Hidden                    | Like Client Mute, plus hides from node list                                                                                                            |
- Router                           | Prioritizes message forwarding; stays awake to relay                                                                                                   |
- Router Late                      | Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)                         |
- ~~Router Client~~                | ⚠️ **Deprecated** (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead |
- ~~Repeater~~                     | ⚠️ **Deprecated** (removed in firmware 2.7.11) — no longer selectable; use Router instead           |
- Repeater                         | Optimized for position reporting at regular intervals                                                                                                  |
- 感測器                              | Optimized for telemetry reporting                                                                                                                      |
- TAK                              | Interoperates with TAK systems (sends/receives CoT)                                                                                 |
- TAK Tracker                      | TAK position reporting only                                                                                                                            |
- Lost & Found | Continuous position beacon for recovery                                                                                                                |
-
-### Choosing a Role
-
-Most users should keep the default **Client** role. Consider a different role when:
-
-- **Router** — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don't use Router on battery-powered handheld devices.
-- **Router Late** — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
-- **Client Base** — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
-- **Client Mute** — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
-- **Tracker** — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
-- **Sensor** — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
-- **TAK / TAK Tracker** — Only needed if interoperating with ATAK/WinTAK systems. See [TAK Integration](tak) for details.
-
-> 💡 **Tip:** The mesh works best when most nodes are **Client** or **Router**. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.
-
-### Encryption Indicators
-
-Nodes display encryption status icons next to their name:
-
- Icon        | Meaning                                                                                                             |
- ----------- | ------------------------------------------------------------------------------------------------------------------- |
- 🔒 Locked   | Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity |
- 🔓 Unlocked | Communication uses shared channel PSK — encrypted but identity not individually verified                            |
- ⚠️ Mismatch | Public key mismatch — the node's key has changed since last seen (investigate before trusting)   |
-
-> 💡 **Tip:** PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.
-
-## Quick Actions
-
-From the node list, you can:
-
-- **Tap** a node to view its detail page
-- **Long-press** for quick actions:
-  - Mark/remove favorite
-  - Mute/unmute notifications
-  - Send a direct message
-  - Trace route
-  - Ignore/unignore
-  - 移除節點
-
-## Filtering & Sorting
-
-### Text Search
-
-Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.
-
-### Filter Toggles
-
- 過濾器                        | 描述說明                                                                                 |
- -------------------------- | ------------------------------------------------------------------------------------ |
- **Only online**            | Show only nodes heard within the last 2 hours                                        |
- **Only direct**            | Show only nodes with direct (non-relayed) connections             |
- **Include unknown**        | Show nodes that haven't sent user info yet                                           |
- **Exclude infrastructure** | Hide infrastructure-role nodes (Router, Router Late, Client Base) |
- **Exclude MQTT**           | Hide nodes heard only via MQTT internet bridge                                       |
- **Show ignored**           | Show nodes you've previously dismissed or muted                                      |
-
-### Sort Options
-
- Sort                                        | 描述說明                                                               |
- ------------------------------------------- | ------------------------------------------------------------------ |
- **Last heard** (default) | Most recently heard nodes first                                    |
- **Alphabetical**                            | Sorted by node long name                                           |
- **Distance**                                | Nearest nodes first (requires position sharing) |
- **Hops away**                               | Fewest relay hops first                                            |
- **Channel**                                 | Grouped by channel index                                           |
- **Via MQTT**                                | Grouped by MQTT vs. radio-heard                    |
- **Favorites**                               | Favorited nodes first                                              |
-
-## Nodes per Hop
-
-Tap the hop-histogram icon in the node list's app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a **last heard** window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It's a quick way to gauge how busy and spread out your local mesh is.
-
-## Node Detail
-
-Tapping a node opens the detail view with comprehensive information. See [Node Metrics](node-metrics) for full details on metrics and telemetry.
-
-![Node detail view](../../assets/screenshots/nodes_node_list.png)
-
-The detail screen includes device info, position, and action buttons:
-
-![Node detail section](../../assets/screenshots/nodes_detail_section.png)
-
-Inline status indicators show key metrics at a glance:
-
- Indicator      | 螢幕截圖                                                          |
- -------------- | ------------------------------------------------------------- |
- Signal quality | ![Signal](../../assets/screenshots/nodes_signal_info.png)     |
- 電池電量           | ![Battery](../../assets/screenshots/nodes_battery_info.png)   |
- Hop count      | ![Hops](../../assets/screenshots/nodes_hops_info.png)         |
- 最近一次收到排序       | ![Last heard](../../assets/screenshots/nodes_last_heard.png)  |
- 距離             | ![Distance](../../assets/screenshots/nodes_distance_info.png) |
-
-### Device Links ("I want one")
-
-When a node's hardware is recognized, the detail view shows a collapsible **"I want one"** section linking to places to buy or learn more about that device: the vendor's product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the `msh.to` redirect service. Devices with no matching links don't show the section.
-
-A full, browsable directory of every link is also available under **Settings → Help & Documentation → Device Links**.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — detailed telemetry dashboards for each node
-- [Messages & Channels](messages-and-channels) — send a direct message to a node
-- [Map & Waypoints](map-and-waypoints) — view node positions geographically
-- [Discovery](discovery) — traceroute and neighbor info for topology exploration
-- [Signal Meter](signal-meter) — understand what the signal bars mean
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/onboarding.html b/v2.8.0/docs/zh-rTW/user/onboarding.html deleted file mode 100644 index bca306cbe0..0000000000 --- a/v2.8.0/docs/zh-rTW/user/onboarding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - 新手入門 - - - -
# # 入門指南
-
-Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.
-
-## First Launch
-
-When you open the app for the first time, you'll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.
-
-### Welcome Screen
-
-The welcome screen introduces Meshtastic and its core capabilities:
-
-- Off-grid mesh communication
-- No cellular or internet required
-- End-to-end encrypted messaging
-
-Tap **Get Started** to proceed through the setup flow.
-
-![Welcome screen](../../assets/screenshots/onboarding_welcome.png)
-
-## Permissions
-
-The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.
-
-### Bluetooth Permission
-
-Bluetooth is the primary connection method between your phone and Meshtastic radio:
-
-- **Bluetooth scanning** — discover nearby Meshtastic radios
-- **Bluetooth connect** — establish and maintain connections with paired radios
-
-Grant both permissions when prompted. Without Bluetooth, you'll need to use USB or TCP connections instead.
-
-### Location Permission
-
-> ⚠️ **Why is location required for Bluetooth?** Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.
-
-Meshtastic also uses your location for:
-
-- Showing your position on the mesh map
-- Calculating distances to other nodes
-- Sharing your GPS coordinates with other mesh members (if enabled)
-
-Grant **"While using the app"** or **"Always"** depending on your preference:
-
-- **While using the app** — position updates only when the app is open
-- **Always** — enables background position updates for always-on mesh presence
-
-If denied, Bluetooth scanning will not function and your node will not report a position.
-
-### Notifications Permission
-
-Notifications alert you to:
-
-- Incoming messages from channels and direct messages
-- New nodes joining the mesh
-- Low battery on a remote node
-
-> 💡 **Tip:** You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.
-
-### Critical Alerts Permission
-
-On supported devices, the app may request permission for critical alerts:
-
-- These are high-priority notifications that can break through Do Not Disturb mode
-- Useful for emergency mesh alerts or urgent messages
-- You can **skip** this step if you don't need breakthrough notifications
-- Configure or revoke later in Android notification settings
-
-## After Setup
-
-Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see [Connections](connections) for detailed instructions.
-
-> 💡 **Tip:** If you skipped any permissions during setup, you can grant them later through **Android Settings → Apps → Meshtastic → Permissions**. The app will prompt you again if a missing permission blocks a feature you try to use.
-
-## What's Next?
-
-Once connected to a radio, explore:
-
-- [Connections](connections) — pair your first radio device
-- [Messages & Channels](messages-and-channels) — send your first message
-- [Nodes](nodes) — see who's on your mesh
-- [Map & Waypoints](map-and-waypoints) — view node positions
-- [Settings](settings-radio-user) — configure your radio and user profile
-
-New to Meshtastic? The [getting started guide](https://meshtastic.org/docs/getting-started) on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/settings-module-admin.html b/v2.8.0/docs/zh-rTW/user/settings-module-admin.html deleted file mode 100644 index 07717ef2fc..0000000000 --- a/v2.8.0/docs/zh-rTW/user/settings-module-admin.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Settings — Modules & Admin - - - -
# Settings — Modules & Admin
-
-Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.
-
-> 💡 **Tip:** You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.
-
-Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:
-
-![Toggle switch](../../assets/screenshots/settings_switch.png)
-
-![Dropdown selector](../../assets/screenshots/settings_dropdown.png)
-
-![Text field](../../assets/screenshots/settings_text_field.png)
-
-![Settings card layout](../../assets/screenshots/settings_titled_card.png)
-
-## 模組設定
-
-### MQTT Module
-
-Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.
-
- 設定              | 描述說明                                                                     |
- --------------- | ------------------------------------------------------------------------ |
- 已啟用             | Toggle MQTT bridge                                                       |
- 伺服器             | MQTT broker address                                                      |
- 使用者名稱           | Authentication username                                                  |
- 密碼              | Authentication password                                                  |
- 加密              | Encrypt MQTT payloads                                                    |
- ~~JSON Output~~ | ⚠️ **Deprecated** — JSON support removed from firmware; field is ignored |
- TLS             | Use secure connection                                                    |
- 根主題             | Base MQTT topic path                                                     |
- Map Report      | Publish position for public map                                          |
-
-See [MQTT](mqtt) for a detailed usage guide including encryption, privacy, and broker setup.
-
-### Serial Module
-
-Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node's serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.
-
- 設定         | 描述說明                            |
- ---------- | ------------------------------- |
- 已啟用        | Activate serial communication   |
- Echo       | Echo received serial data back  |
- 模式         | Text, Protobuf, or NMEA output  |
- RX/TX Pins | GPIO pins for serial connection |
- 鮑率         | Serial communication speed      |
-
-### External Notification Module
-
-Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.
-
- 設定                               | 描述說明                        |
- -------------------------------- | --------------------------- |
- 已啟用                              | Activate notifications      |
- Alert Message                    | Notify on incoming messages |
- Alert Message Buzzer             | Use buzzer for messages     |
- Alert Message Vibra              | Use vibration for messages  |
- Alert Bell                       | Notify on bell character    |
- Output (GPIO) | Pin for notification output |
- Active                           | High or Low active          |
- Duration (ms) | Notification length         |
- Use I2S as Buzzer                | Use I2S audio output        |
-
-### Store & Forward Module
-
-Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren't lost during brief disconnections.
-
- 設定                                         | 描述說明                                                                                                                                             |
- ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
- 已啟用                                        | Activate store and forward                                                                                                                       |
- 心跳                                         | Periodically announce this node's store-and-forward capability                                                                                   |
- 紀錄                                         | Maximum stored messages                                                                                                                          |
- History Return (max)    | Max messages to replay                                                                                                                           |
- History Return (window) | Time window for replay                                                                                                                           |
- 伺服器                                        | Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM) |
-
-> 💡 **Tip:** Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they're typically always-on.
-
-### Range Test Module
-
-Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.
-
- 設定                                     | 描述說明                              |
- -------------------------------------- | --------------------------------- |
- 已啟用                                    | Activate range testing            |
- Sender Interval (s) | Time between test transmissions   |
- Save CSV                               | Log received test data to SD card |
-
-### Telemetry Module
-
-Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).
-
- 設定                           | 描述說明                                    |
- ---------------------------- | --------------------------------------- |
- Device Metrics Interval      | How often to report device metrics      |
- Environment Metrics Interval | How often to report environment sensors |
- 空氣品質已啟用                      | Report particulate sensor data          |
- 已啟用電源量測指標                    | Report power usage                      |
-
-See [Telemetry & Sensors](telemetry-and-sensors) for supported sensors and configuration recommendations.
-
-### Canned Message Module
-
-Pre-configured messages accessible from the device's physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.
-
- 設定                 | 描述說明                                                        |
- ------------------ | ----------------------------------------------------------- |
- ~~Enabled~~        | ⚠️ **Deprecated** — current firmware may ignore this toggle |
- 訊息                 | Newline-separated list of messages                          |
- 傳送 Bell            | Play bell sound on send                                     |
- Rotary Encoder     | Enable rotary encoder input                                 |
- Up/Down/Press Pins | GPIO pin assignments for input                              |
-
-### Audio Module
-
-Codec2 audio support for low-bandwidth voice communication over the mesh. This is an **experimental** feature that encodes voice into very small data packets using the Codec2 codec.
-
- 設定           | 描述說明                             |
- ------------ | -------------------------------- |
- 已啟用          | Activate audio module            |
- Codec2 Rate  | Audio quality/bandwidth tradeoff |
- I2S 字元選擇     | GPIO pin for I2S WS              |
- I2S Data In  | GPIO pin for I2S DIN             |
- I2S Data Out | GPIO pin for I2S DOUT            |
-
-> ⚠️ **Note:** Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think "understandable radio voice," not phone-call quality.
-
-### Remote Hardware Module
-
-GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.
-
- 設定                   | 描述說明                                                            |
- -------------------- | --------------------------------------------------------------- |
- 已啟用                  | Activate remote GPIO access                                     |
- Allow Undefined Pins | Allow access to any GPIO pin (security risk) |
- Available Pins       | Up to 4 GPIO pins this node exposes for remote read/write       |
-
-> ⚠️ **Warning:** Enabling "Allow Undefined Pins" gives remote nodes access to all GPIO pins, which could interfere with the radio's own hardware. Only enable on dedicated GPIO nodes.
-
-### Neighbor Info Module
-
-Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.
-
- 設定                                     | 描述說明                                                                                                                                 |
- -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
- 已啟用                                    | Activate neighbor broadcasting                                                                                                       |
- Update Interval (s) | How often to broadcast neighbor list                                                                                                 |
- 透過 LoRa 傳輸                             | Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name |
-
-See [Discovery](discovery) for how to use neighbor data for mesh topology exploration.
-
-### Ambient Lighting Module
-
-Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.
-
- 設定                 | 描述說明                                                       |
- ------------------ | ---------------------------------------------------------- |
- LED 狀態             | Turn the LED on or off                                     |
- 目前                 | LED current limit (0–31)                |
- Red / Green / Blue | Individual color channel values (0–255) |
-
-### Detection Sensor Module
-
-Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.
-
- 設定                                       | 描述說明                                                                                                                                    |
- ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
- 已啟用                                      | Activate detection sensor                                                                                                               |
- 監控腳位                                     | GPIO pin connected to sensor                                                                                                            |
- Detection Trigger Type                   | How the pin's state maps to a detection event (e.g. active high/low, edge-triggered) |
- Use Input Pullup Mode                    | Enable the pin's internal pull-up resistor                                                                                              |
- Minimum Broadcast (s) | Minimum time between alert broadcasts                                                                                                   |
- State Broadcast (s)   | Periodic state broadcast interval                                                                                                       |
- 傳送 Bell                                  | Include bell character in alerts                                                                                                        |
- 友善名稱                                     | Custom name for this sensor                                                                                                             |
-
-### Paxcounter Module
-
-People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.
-
- 設定                                     | 描述說明                       |
- -------------------------------------- | -------------------------- |
- 已啟用                                    | Activate people counting   |
- Update Interval (s) | How often to report counts |
-
-> 💡 **Tip:** Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.
-
-### TAK Module
-
-Team Awareness Kit integration for interoperability with ATAK and WinTAK. See [TAK Integration](tak) for detailed setup and usage.
-
-## 管理
-
-### 遠端管理
-
-Remotely configure nodes that share your admin key:
-
-1. Select the target node in the node list.
-2. Navigate to **Settings** for that node.
-3. Modify configuration.
-4. Tap **Save** — changes are sent over the mesh.
-
-> ⚠️ **Requires:** Admin key configured on both your node and the target node.
-
-### 清除節點資料庫
-
-Removes stale nodes from your local database that haven't been heard in a configurable time window.
-
-### 恢復原廠設定
-
-Resets all settings to factory defaults. **This cannot be undone.**
-
-### 重新開機
-
-Remotely reboot a connected or administered node.
-
-### 偵錯面板
-
-Opens the **Packets** and **App logs** tabs for viewing, filtering, and exporting diagnostic output. See [Debug Logs](debug-logs) for the full walkthrough.
-
-### Troubleshooting Remote Admin
-
-- **"No response from target node"** — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
-- **Changes not applying** — some settings require a reboot to take effect. Try the Reboot action after saving.
-- **Can't see remote settings** — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.
-
-## Related Topics
-
-- [Settings — Radio & User](settings-radio-user) — core radio and user profile settings
-- [Module configuration reference](https://meshtastic.org/docs/configuration/module) — detailed module docs on meshtastic.org
-- [FAQ](https://meshtastic.org/docs/faq/) — common questions on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/settings-radio-user.html b/v2.8.0/docs/zh-rTW/user/settings-radio-user.html deleted file mode 100644 index 39e8dd1368..0000000000 --- a/v2.8.0/docs/zh-rTW/user/settings-radio-user.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Settings — Radio & User - - - -
# Settings — Radio & User
-
-Configure your radio hardware and user identity parameters.
-
-## 使用者設定
-
-### User Profile
-
- 設定                | 描述說明                                                                                  |
- ----------------- | ------------------------------------------------------------------------------------- |
- 長名稱               | Your display name (up to 39 characters)                            |
- 簡短名稱              | 4-character abbreviated name                                                          |
- Licensed Operator | Enable if you hold an amateur radio license (enables higher power) |
-
-### Applying Changes
-
-After modifying settings, tap **Save** to write the configuration to your radio. The device may reboot to apply changes.
-
-## 設定
-
-### 設備設置
-
- 設定                                         | 描述說明                                                                    | 默認       |
- ------------------------------------------ | ----------------------------------------------------------------------- | -------- |
- 角色                                         | Node behavior (Client, Router, etc.) | 用戶端      |
- ## Rebroadcast Mode轉發廣播模式                  | How the node retransmits messages                                       | 全部       |
- Node Info Broadcast (s) | Interval for broadcasting node info                                     | 10800    |
- Double-tap Button                          | Action for double-tap button press                                      | Disabled |
-
-### LoRa規劃
-
- 設定                                       | 描述說明                                                                    | 默認                                        |
- ---------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
- 地區                                       | Regulatory region for frequency bands                                   | Unset (must configure) |
- 數據機預設值 (Modem Preset) | Speed/range tradeoff                                                    | LongFast                                  |
- 躍點限制                                     | Maximum retransmit hops                                                 | 3                                         |
- TX Power                                 | Transmission power (dBm); 0 = max allowed for region | 0 (region max)         |
- 頻率偏移量                                    | Fine-tune frequency (MHz)                            | 0                                         |
- Channel Bandwidth                        | Bandwidth setting                                                       | Default for preset                        |
-
-> ⚠️ **Important:** You **must** set your region before transmitting. Operating without the correct region may violate local radio regulations. See the [region configuration guide](https://meshtastic.org/docs/getting-started/initial-config) on meshtastic.org for details.
-
-### Modem Presets
-
-> 💡 **Tip:** The **SNR Limit** values are negative on purpose. LoRa can decode signals _below_ the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See [How the Signal Meter Works](signal-meter) for the full explanation.
-
- Preset             | 範圍                      | 速度                        | SNR Limit                | Best For                                                                                                 |
- ------------------ | ----------------------- | ------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
- 短 Turbo            | ~1 km   | 21.9 kbps | −7.5 dB  | Dense urban with line-of-sight; data-heavy applications                                                  |
- 短 快                | ~3 km   | 10.9 kbps | −7.5 dB  | Urban neighborhoods; buildings within a few blocks                                                       |
- 短 慢                | ~5 km   | 5.5 kbps  | −10 dB                   | Suburban short-range; moderate building density                                                          |
- 中等快                | ~5 km   | 5.5 kbps  | −12.5 dB | Suburban areas; moderate building density                                                                |
- 中等慢                | ~8 km   | 1.1 kbps  | −15 dB                   | Suburban/rural; moderate range with slower speed                                                         |
- Long Turbo         | ~10 km  | 4.4 kbps  | −12.5 dB | Similar range to Long Fast but with 500 kHz bandwidth; faster throughput                                 |
- Long Fast          | ~10 km  | 1.1 kbps  | −17.5 dB | **General use (default)** — balanced range and speed                                  |
- 長度中等的              | ~20 km  | 0.34 kbps | −17.5 dB | Rural with some terrain; occasional use                                                                  |
- Lite Fast          | ~5 km   | 5.5 kbps  | −12.5 dB | EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast                           |
- Lite Slow          | ~10 km  | 1.1 kbps  | −15 dB                   | EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast                             |
- Narrow Fast        | ~5 km   | 2.7 kbps  | −10 dB                   | EU 868 MHz band (62.5 kHz BW); avoids interference with other devices |
- Narrow Slow        | ~10 km  | 1.1 kbps  | −12.5 dB | EU 868 MHz band (62.5 kHz BW); comparable to Long Fast                |
- ~~Long Slow~~      | ~30 km  | 0.18 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
- ~~Very Long Slow~~ | ~40+ km | 0.09 kbps | −20 dB                   | ⚠️ **Deprecated** — still selectable but may be removed in a future firmware release                     |
-
-> ℹ️ **Note:** This table uses the common short names. In the app's preset dropdown they read as **Short Range - Fast**, **Long Range - Fast**, **Lite - Fast**, **Narrow - Fast**, and so on.
-
-#### Choosing a Modem Preset
-
-The modem preset controls the fundamental tradeoff between **range** and **data rate**:
-
-- **Slower presets** use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
-- **Faster presets** pack more data per transmission but require a stronger signal to decode.
-
-**Practical guidance:**
-
-- **Urban mesh (many nodes, short distances):** Use **Long Fast** (default) or **Short Fast**. Higher speed means less airtime congestion when many nodes share the channel.
-- **Rural/sparse mesh (few nodes, long distances):** Use **Long Moderate**. Range matters more than speed when nodes are far apart.
-- **EU 866/868 MHz regulatory compliance:** Use **Lite Fast**, **Lite Slow**, **Narrow Fast**, or **Narrow Slow** — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
-- **Fixed infrastructure links:** Use **Short Turbo** or **Long Turbo** for dedicated point-to-point links with good antennas and line-of-sight.
-- **Mixed environments:** Stick with **Long Fast** — it's the community default and ensures compatibility with others in your area.
-
-> ⚠️ **Important:** All nodes on the same channel **must** use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.
-
-> 💡 **Tip:** The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.
-
-### 顯示設置
-
- 設定                | 描述說明                                                                                 |
- ----------------- | ------------------------------------------------------------------------------------ |
- 螢幕逾時              | Time before display sleeps                                                           |
- 顯示單位              | Metric or Imperial                                                                   |
- OLED類型            | Auto, SSD1306, SH1106, SH1107                                                        |
- 羅盤方位              | Rotation offset for compass display (0°, 90°, 180°, 270°)         |
- ~~Compass North~~ | ⚠️ **Deprecated** — replaced by Compass Orientation; still visible in older firmware |
-
-### 位置設定
-
- 設定                                        | 描述說明                               |
- ----------------------------------------- | ---------------------------------- |
- GPS Enabled                               | Enable/disable GPS                 |
- GPS 更新間隔                                  | How often to acquire GPS fix       |
- Position Broadcast (s) | How often to share position        |
- 智慧定位                                      | Enable movement-based broadcasting |
- 固定位置                                      | Use a manually set position        |
-
-### 電源設定
-
- 設定                                      | 描述說明                                    |
- --------------------------------------- | --------------------------------------- |
- 省電模式                                    | Enable low-power sleep mode             |
- Shutdown After (s)   | Auto-shutdown idle timer                |
- ADC Multiplier                          | Battery voltage calibration factor      |
- Wait Bluetooth (s)   | Time to wait for BLE connection at boot |
- Mesh SDS Timeout (s) | Super-deep-sleep timeout                |
-
-### 網路配置
-
- 設定            | 描述說明                                                 |
- ------------- | ---------------------------------------------------- |
- 啟用 WiFi       | Enable WiFi radio (ESP32 devices) |
- WiFi SSID     | Network name to connect to                           |
- WiFi PSK      | 網路密碼                                                 |
- NTP 伺服器       | Time synchronization server                          |
- Syslog Server | Remote logging server                                |
-
-![IP address field](../../assets/screenshots/settings_ipv4_field.png)
-
-### 藍牙配置
-
- 設定                | 描述說明                                                                      |
- ----------------- | ------------------------------------------------------------------------- |
- Bluetooth Enabled | Enable/disable BLE radio                                                  |
- 配對模式              | Fixed PIN, Random PIN, or No PIN                                          |
- 固定 PIN            | PIN code for pairing (default: 123456) |
-
-### 安全性設定
-
- 設定                        | 描述說明                                                                                                                                                                                                           |
- ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- 公鑰                        | Your node's public key (read-only)                                                                                                                                                          |
- 管理金鑰                      | Key for remote administration                                                                                                                                                                                  |
- 私鑰                        | Your node's private key (handle securely)                                                                                                                                                   |
- ~~Admin Channel Enabled~~ | ⚠️ Removed — now configured automatically when an admin key is set                                                                                                                                             |
- 除錯日誌                      | Output live debug logging over serial/bluetooth                                                                                                                                                                |
- Serial Enabled            | Enable serial console access (moved from Device Config)                                                                                                                                     |
- 管理模式                      | Restrict non-admin channel changes                                                                                                                                                                             |
- 備份金鑰                      | Save an encrypted backup of the node's keys on this device (Android only)                                                                                                                   |
- Restore Keys              | Write the backed-up keys back to the node (available once a backup exists)                                                                                                                  |
- Delete Key Backup         | Remove the stored key backup from this device                                                                                                                                                                  |
- Protection Level          | Packet authenticity — how unsigned or relayed packets are treated: **Strict**, **Balanced**, or **Compatible** (requires supporting firmware; Strict asks for confirmation) |
-
-![Password field](../../assets/screenshots/settings_password_field.png)
-
-Settings use standard preference controls — dropdowns, toggles, and sliders:
-
- Control  | 螢幕截圖                                                        |
- -------- | ----------------------------------------------------------- |
- Dropdown | ![Dropdown](../../assets/screenshots/settings_dropdown.png) |
- Toggle   | ![Toggle](../../assets/screenshots/settings_switch.png)     |
- Slider   | ![Slider](../../assets/screenshots/settings_slider.png)     |
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — optional feature modules and device administration
-- [Signal Meter](signal-meter) — how modem presets affect signal quality thresholds
-- [LoRa configuration](https://meshtastic.org/docs/configuration/radio/lora) — detailed LoRa settings reference on meshtastic.org
-- [Initial configuration](https://meshtastic.org/docs/getting-started/initial-config) — region setup guide on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/signal-meter.html b/v2.8.0/docs/zh-rTW/user/signal-meter.html deleted file mode 100644 index 94c6e9eccc..0000000000 --- a/v2.8.0/docs/zh-rTW/user/signal-meter.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - How the Meshtastic Signal Meter Works - - - -
# How the Meshtastic Signal Meter Works
-
-The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the "bars" on a traditional cell phone or WiFi router.
-
-Most consumer devices simply measure how "loud" a signal is. However, because Meshtastic uses **LoRa (Long Range)** technology, its signal meter measures how **clear** the signal is, relative to the specific settings your mesh is using.
-
-## 2. The Magic of LoRa: Hearing "Below the Noise Floor"
-
-For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.
-
-LoRa is special. It uses **"Spread Spectrum"** modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep _underneath_ the background noise. This is why you will frequently see **negative SNR numbers** in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).
-
-Depending on which Meshtastic preset you are using (e.g., `LongFast` vs. `ShortFast`), the radio has a specific **SNR Limit** — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.
-
--- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
- 良好    | 3                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | SNR **above** the preset's `limit`     | Signal is comfortably above the demodulation floor — healthy connection. |
- 普通    | 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | less than `5.5 dB` below the `limit`   | Decodable, but getting close to the floor.                               |
- 不良    | 1.  **Overview**```
-Meshtastic is a project that allows you to use inexpensive LoRa radios as a long range, off-grid, decentralized communication platform. These radios, combined with readily available and very affordable microcontrollers like the ESP32, nRF52, and RP2040, create a network that can be used to send text messages, share locations, and more without relying on cellular or WiFi infrastructure. It's perfect for hiking, camping, or any situation where you need to stay connected beyond the reach of traditional networks.
-```2.  **Key Components**```
-*   **LoRa Radios:** These radios provide the long-range communication capabilities. The RAK Wireless modules are a popular choice.
-*   **Microcontrollers:** The brains of the operation. ESP32, nRF52, and RP2040 are commonly used due to their low cost and capabilities.
-*   **GPS (Optional):** For location sharing. Many devices, like the T-Beam, have built-in GPS.
-*   **Battery (Optional):** For portable use.
-*   **Enclosure (Optional):** To protect the hardware.
-```3.  **Popular Devices**```
-*   **T-Beam:** A popular board with ESP32, LoRa, and GPS.
-*   **Heltec WiFi LoRa 32:** Another popular ESP32-based board with LoRa.
-*   **LilyGo Boards:** LilyGo offers a variety of ESP32 and nRF52 based boards with LoRa.
-```4.  **Features**```
-*   **Text Messaging:** Send and receive text messages over the LoRa network.
-*   **Location Sharing:** Share your location with other users on the network (requires GPS).
-*   **Encryption:** Messages can be encrypted for privacy.
-*   **Mesh Networking:** The network automatically routes messages through other nodes to reach the destination.
-*   **Off-Grid Communication:** No cellular or WiFi required.
-*   **Channel Settings:** Customize channel settings for different regions and use cases (Long Fast, Mid Slow, etc.).
-```5.  **Software & Firmware**```
-*   **Meshtastic Firmware:** The core software that runs on the microcontrollers.
-*   **Meshtastic Mobile App:** For configuring and interacting with the devices. Available on Android and iOS.
-*   **CLI (Command Line Interface):** For advanced configuration and debugging.
-*   **API (Application Programming Interface):** For integrating Meshtastic with other applications.
-```6.  **Hardware Setup**```
-*   **Flashing Firmware:** You'll need to flash the Meshtastic firmware onto your microcontroller. This is typically done using a USB connection and a flashing tool.
-*   **Connecting Peripherals:** Connect the LoRa radio and any other peripherals (GPS, battery) to the microcontroller.
-*   **Antenna:** Attach an appropriate antenna to the LoRa radio.
-```7.  **Configuration**```
-*   **Region Settings:** Configure the correct region settings for your location.
-*   **Channel Settings:** Choose a channel or create a custom channel.
-*   **Encryption:** Enable encryption for secure communication.
-*   **Power Settings:** Adjust power settings to optimize battery life.
-```8.  **Technical Details**```
-*   **LoRa Modulation:** Uses LoRa modulation for long-range communication.
-*   **Frequency Bands:** Operates on various frequency bands depending on the region (e.g., 915 MHz in North America, 868 MHz in Europe).
-*   **Microcontroller Interfaces:** Uses various interfaces for communication between the microcontroller and peripherals, including GPIO, USB, UART, SPI, and I2C.
-*   **BLE (Bluetooth Low Energy):** Used for initial configuration and communication with the mobile app.
-*   **WiFi:** Some devices support WiFi for OTA (Over-The-Air) firmware updates.
-*   **MQTT:** Supports MQTT for integration with other systems.
-```9.  **Use Cases**```
-*   **Hiking and Camping:** Stay connected with your group in areas without cellular coverage.
-*   **Emergency Communication:** Provide a backup communication system in case of emergencies.
-*   **Disaster Relief:** Establish communication networks in areas affected by disasters.
-*   **Rural Communication:** Connect communities in remote areas.
-*   **IoT Applications:** Use Meshtastic for various IoT applications that require long-range communication.
-```10. **Resources**```
-*   **Meshtastic Website:** [https://meshtastic.org/](https://meshtastic.org/)
-*   **Meshtastic Documentation:** [https://meshtastic.org/docs/](https://meshtastic.org/docs/)
-*   **Meshtastic Forums:** [https://meshtastic.discourse.group/](https://meshtastic.discourse.group/)
-```1) **概觀**
-
-   Meshtastic 是一個專案,讓你可以使用便宜的 LoRa 無線電作為長距離、離線、去中心化的通訊平台。這些無線電,結合了容易取得且非常實惠的微控制器,像是 ESP32、nRF52 和 RP2040,創建了一個網路,可以用來傳送簡訊、分享位置等等,而不需要依賴行動網路或 WiFi 基礎設施。它非常適合健行、露營,或任何你需要保持連線,但又超出傳統網路覆蓋範圍的情況。
-
-2) **主要組件**
-
-   - **LoRa 無線電:** 提供長距離通訊能力。 RAK Wireless 模組是一個很受歡迎的選擇。
-   - **微控制器:** 運作的大腦。 ESP32、nRF52 和 RP2040 因為它們的低成本和功能而被廣泛使用。
-   - **GPS (可選):** 用於位置分享。 許多裝置,像是 T-Beam,都有內建 GPS。
-   - **電池 (可選):** 用於攜帶型使用。
-   - **外殼 (可選):** 保護硬體。
-
-3) **熱門裝置**
-
-   - **T-Beam:** 一個受歡迎的板子,具有 ESP32、LoRa 和 GPS。
-   - **Heltec WiFi LoRa 32:** 另一個受歡迎的基於 ESP32 的板子,具有 LoRa。
-   - **LilyGo Boards:** LilyGo 提供各種基於 ESP32 和 nRF52 的板子,具有 LoRa。
-
-4) **功能**
-
-   - **簡訊傳輸:** 透過 LoRa 網路傳送和接收簡訊。
-   - **位置分享:** 與網路上其他使用者分享你的位置 (需要 GPS)。
-   - **加密:** 可以加密訊息以保護隱私。
-   - **網狀網路:** 網路會自動透過其他節點路由訊息,以到達目的地。
-   - **離線通訊:** 不需要行動網路或 WiFi。
-   - **頻道設定:** 客製化不同地區和使用案例的頻道設定 (Long Fast、Mid Slow 等)。
-
-5) **軟體與 Firmware**
-
-   - **Meshtastic Firmware:** 在微控制器上執行的核心軟體。
-   - **Meshtastic Mobile App:** 用於配置和與裝置互動。 可在 Android 和 iOS 上使用。
-   - **CLI (Command Line Interface):** 用於進階配置和除錯。
-   - **API (Application Programming Interface):** 用於將 Meshtastic 與其他應用程式整合。
-
-6) **硬體設定**
-
-   - **刷入 Firmware:** 你需要將 Meshtastic firmware 刷入你的微控制器。 這通常是使用 USB 連線和刷入工具來完成的。
-   - **連接週邊設備:** 將 LoRa 無線電和任何其他週邊設備 (GPS、電池) 連接到微控制器。
-   - **天線:** 將適當的天線連接到 LoRa 無線電。
-
-7) **配置**
-
-   - **區域設定:** 為你的位置配置正確的區域設定。
-   - **頻道設定:** 選擇一個頻道或創建一個自定義頻道。
-   - **加密:** 啟用加密以進行安全通訊。
-   - **電源設定:** 調整電源設定以優化電池壽命。
-
-8) **技術細節**
-
-   - **LoRa 調變:** 使用 LoRa 調變進行長距離通訊。
-   - **頻率範圍:** 根據地區在不同的頻率範圍上運作 (例如,北美為 915 MHz,歐洲為 868 MHz)。
-   - **微控制器介面:** 使用各種介面在微控制器和週邊設備之間進行通訊,包括 GPIO、USB、UART、SPI 和 I2C。
-   - **BLE (Bluetooth Low Energy):** 用於初始配置和與行動應用程式的通訊。
-   - **WiFi:** 某些裝置支援 WiFi 用於 OTA (Over-The-Air) firmware 更新。
-   - **MQTT:** 支援 MQTT 用於與其他系統整合。
-
-9) **使用案例**
-
-   - **健行和露營:** 在沒有行動網路覆蓋的地區與你的團隊保持聯繫。
-   - **緊急通訊:** 在緊急情況下提供備份通訊系統。
-   - **災害救援:** 在受災害影響的地區建立通訊網路。
-   - **農村通訊:** 連接偏遠地區的社群。
-   - **IoT 應用:** 將 Meshtastic 用於各種需要長距離通訊的 IoT 應用。
-
-10) **資源**
-
-    - **Meshtastic Website:** [https://meshtastic.org/](https://meshtastic.org/)
-    - **Meshtastic Documentation:** [https://meshtastic.org/docs/](https://meshtastic.org/docs/)
-    - **Meshtastic Forums:** [https://meshtastic.discourse.group/](https://meshtastic.discourse.group/) | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         |
- 無     | 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-
-> **Note:** The fixed SNR thresholds you may have seen elsewhere (`-7 dB` / `-15 dB`) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/tak.html b/v2.8.0/docs/zh-rTW/user/tak.html deleted file mode 100644 index 31d7a2a387..0000000000 --- a/v2.8.0/docs/zh-rTW/user/tak.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - TAK Integration - - - -
# TAK Integration
-
-Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.
-
-## 概觀
-
-The TAK module allows Meshtastic nodes to:
-
-- Share position data in TAK-compatible CoT (Cursor on Target) format
-- Appear as team members on TAK map displays
-- Receive TAK PLI (Position Location Information) messages
-
-## 設定
-
-### 先決條件
-
-- ATAK (Android Team Awareness Kit) or WinTAK installed
-- Meshtastic ATAK Plugin installed
-- TAK module enabled on your Meshtastic radio
-
-### 設定
-
-1. Navigate to **Settings → Module Config → TAK**.
-2. Enable the TAK module.
-3. Configure the TAK team/group settings:
-
-![Module toggle switch](../../assets/screenshots/settings_switch.png)
-
- 設定  | 描述說明                       |
- --- | -------------------------- |
- 已啟用 | Activate TAK interop       |
- 模式  | TAK-compatible output mode |
-
-### ATAK Plugin Setup
-
-1. Install the Meshtastic ATAK Plugin from the plugin repository.
-2. Open ATAK and enable the Meshtastic plugin.
-3. The plugin bridges messages between ATAK and your mesh network.
-
-### Local TAK Server
-
-The app can also run a **local TAK server** so ATAK/iTAK on the **same device** can connect directly, without a remote TAK server. The server binds to localhost only (`127.0.0.1:8089`) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open **Settings → Module Config → TAK → TAK Server**:
-
-![Local TAK Server settings with enable toggle and export option](../../assets/screenshots/tak_server_enabled.png)
-
-- **Enable Local TAK Server** — starts the loopback-only mTLS server on port **8089** for ATAK/iTAK connections from the same device.
-- **Export TAK Data Package** — generates a `.zip` data package that ATAK/iTAK can import to connect to this server.
-
-## TAK Roles
-
-Nodes configured with TAK-related roles behave differently from standard clients:
-
- 角色              | 描述說明                                                                                                                                                                                                                                                                                |
- --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- **TAK**         | Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.                                                                                                            |
- **TAK Tracker** | Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages. |
-
-> 💡 **Tip:** Use **TAK Tracker** for devices that only need to report position (e.g., a radio mounted in a vehicle). Use **TAK** for devices where users actively participate in TAK operations.
-
-### CoT (Cursor on Target) Format
-
-TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.
-
-## TAK Identity
-
-When using TAK roles, your node broadcasts identity information that appears on TAK maps:
-
- 設定   | 描述說明                                                                                                             |
- ---- | ---------------------------------------------------------------------------------------------------------------- |
- 隊伍顏色 | Your team color on the TAK map (e.g., Blue, Red, Cyan, Green) |
- 隊員角色 | Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)          |
-
-These settings appear in **Settings → Module Config → TAK** when the TAK module is enabled. Your TAK callsign isn't a separate setting — it's derived automatically from your Meshtastic node name.
-
-> 💡 **Tip:** Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.
-
-## Wire Format (V1 / V2)
-
-Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio's firmware — no manual configuration needed:
-
- Format                          | 相容性                                                      | 特色                                                                                                                                                                                                                 |
- ------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- V1 (Legacy)  | Firmware 2.7.x and older | Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped |
- V2 (Current) | Firmware 2.8.0+          | Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports                                      |
-
-A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.
-
-## Usage with ATAK
-
-Once configured:
-
-- Meshtastic nodes appear as markers on the ATAK map with callsign labels
-- Chat messages can bridge between mesh and TAK networks
-- Position updates flow bidirectionally between Meshtastic and TAK
-- TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration
-
-> ⚠️ **Note:** TAK integration requires specific node roles and module configuration. Standard client nodes don't automatically participate in TAK operations.
-
-## 故障排除
-
- Problem                                 | Cause                                                                                                     | Solution                                                                                        |
- --------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
- Node doesn't appear on ATAK map         | TAK module disabled or wrong role                                                                         | Verify TAK module is enabled and node role is TAK or TAK Tracker                                |
- Position updates are stale              | GPS fix lost or interval too long                                                                         | Check GPS status; reduce position broadcast interval in Position Config                         |
- ATAK plugin shows "disconnected"        | BLE connection lost or plugin crashed                                                                     | Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin                                 |
- Shapes, markers, or routes not bridging | Sending node is on legacy V1 (firmware 2.7.x or older) | Update the sending node's firmware to 2.8.0+ for V2 wire format |
- CoT data not flowing                    | Channel mismatch                                                                                          | All TAK nodes must be on the same channel with matching encryption                              |
-
-## Security Considerations
-
-- TAK data shares your position and callsign information
-- Ensure your channel encryption is configured when using TAK in sensitive environments
-- The TAK module respects the same channel encryption as other Meshtastic messages
-
-## Related Topics
-
-- [Settings — Modules & Admin](settings-module-admin) — TAK module configuration
-- [Nodes](nodes) — TAK and TAK Tracker roles in the node list
-- [Map & Waypoints](map-and-waypoints) — node positions on the map
-- [ATAK plugin guide](https://meshtastic.org/docs/software/integrations/integrations-atak-plugin/) — detailed ATAK setup on meshtastic.org
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/telemetry-and-sensors.html b/v2.8.0/docs/zh-rTW/user/telemetry-and-sensors.html deleted file mode 100644 index 1e827c9aea..0000000000 --- a/v2.8.0/docs/zh-rTW/user/telemetry-and-sensors.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Telemetry & Sensors - - - -
# Telemetry & Sensors
-
-Meshtastic nodes can collect and share sensor data across the mesh network.
-
-## 概觀
-
-Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.
-
-## 裝置遙測
-
-All Meshtastic nodes report basic device telemetry:
-
- 公制(公里/公尺)          | 描述說明                           | Typical Range                                                      |
- ------------------ | ------------------------------ | ------------------------------------------------------------------ |
- Battery Level      | Charge percentage              | 0–100%                                                             |
- 電壓                 | Battery voltage                | 3.0–4.2V (LiPo) |
- 頻道使用量              | % of airtime used locally      | 0–100%                                                             |
- Air Utilization TX | % of airtime used by this node | 0–100%                                                             |
- 運行時間               | Seconds since last boot        | Varies                                                             |
-
-## Environment Sensors
-
-Supported environmental sensors:
-
-### Temperature & Humidity
-
- 感測器     | 溫度 | 濕度 | 氣壓 | 備註                      |
- ------- | -- | -- | -- | ----------------------- |
- BME280  | ✓  | ✓  | ✓  | Recommended all-in-one  |
- BME680  | ✓  | ✓  | ✓  | Adds gas resistance/IAQ |
- SHT31   | ✓  | ✓  | —  | High accuracy           |
- MCP9808 | ✓  | —  | —  | Precision temperature   |
- LPS22   | —  | —  | ✓  | Pressure only           |
-
-### Air Quality
-
- 感測器      | 公制(公里/公尺)                                          | 備註                         |
- -------- | -------------------------------------------------- | -------------------------- |
- BME680   | Gas Resistance / IAQ                               | Volatile organic compounds |
- PMSA003I | PM1.0, PM2.5, PM10 | Particulate matter         |
- SEN55    | PM, NOx, VOC, Temp, Humidity                       | Multi-sensor               |
-
-### Light & UV
-
- 感測器      | 公制(公里/公尺)                              |
- -------- | -------------------------------------- |
- OPT3001  | Ambient light (lux) |
- VEML7700 | Ambient light (lux) |
- LTR390   | UV index                               |
-
-## 電源計量資料
-
-Nodes with INA-series power sensors can report:
-
- 公制(公里/公尺)   | 描述說明                                      |
- ----------- | ----------------------------------------- |
- Bus Voltage | Supply rail voltage                       |
- 目前          | Power consumption (mA) |
- 電力          | Calculated power (mW)  |
-
-Useful for monitoring solar charging or battery health on remote nodes.
-
-## Configuring Telemetry
-
-1. Navigate to **Settings → Module Config → Telemetry**.
-2. Set reporting intervals:
-   - **Device Metrics Interval** — how often to broadcast device metrics
-   - **Environment Metrics Interval** — how often to broadcast sensor data
-3. Enable specific sensor types as needed.
-
-### Recommended Intervals
-
- Use Case                                   | Device (s) | Environment (s) |
- ------------------------------------------ | ----------------------------- | ---------------------------------- |
- Urban mesh (many nodes) | 3600                          | 3600                               |
- Rural mesh (few nodes)  | 900                           | 900                                |
- Weather station                            | 900                           | 300                                |
- Battery conservation                       | 7200                          | 7200                               |
-
-> ⚠️ **Note:** Shorter intervals increase airtime usage and battery drain across the mesh.
-
-## Air Quality Metrics
-
-Nodes with particulate matter or CO₂ sensors report air quality data:
-
- 公制(公里/公尺)             | 單位    | 描述說明                         |
- --------------------- | ----- | ---------------------------- |
- PM1.0 | µg/m³ | Ultrafine particulate matter |
- PM2.5 | µg/m³ | Fine particulate matter      |
- PM10                  | µg/m³ | Coarse particulate matter    |
- CO₂                   | ppm   | Carbon dioxide concentration |
-
-CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an **EPA NowCast AQI** value.
-
-The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See [Node Metrics — Air Quality](node-metrics#air-quality-metrics) for the exact ppm bands, colors, and AQI detail.
-
-Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.
-
-## Viewing Telemetry
-
-1. Navigate to **Nodes** and select a node.
-2. Telemetry sections show on the detail screen:
-   - Device Metrics (always available)
-   - Environment Metrics (if sensors present)
-   - Power Metrics (if INA sensor present)
-   - Air Quality Metrics (if PM/CO₂ sensor present)
-3. Historical graphs show trends over time.
-
-![Telemetry actions](../../assets/screenshots/node-metrics_telemetric_actions.png)
-
-## 故障排除
-
-- **No environment data showing?** The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
-- **Stale readings?** Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
-- **Sensor conflict on I2C bus?** Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio's serial debug output.
-
-## Related Topics
-
-- [Node Metrics](node-metrics) — view telemetry data on the node detail screen
-- [Settings — Modules & Admin](settings-module-admin) — telemetry module configuration
-- [Units & Locale](units-and-locale) — temperature and pressure display units
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/translate.html b/v2.8.0/docs/zh-rTW/user/translate.html deleted file mode 100644 index 49ac813b08..0000000000 --- a/v2.8.0/docs/zh-rTW/user/translate.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Translate the App - - - -
# Translate the App
-
-Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
-
--------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
- UI strings        | `core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text                   |
- User Guide pages  | `docs/en/user/*.md`                                                 | In-app documentation shown in Help & Documentation |
- Fastlane metadata | `fastlane/metadata/android/en-US/`                                  | App Store listing title, description, and changelogs                   |
-
-> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
-
-## Adding a New Language
-
-If your language is not yet listed on Crowdin:
-
-1. Open an issue on [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
-2. A maintainer will add the language to Crowdin and configure `crowdin.yml`.
-3. Once added, you can begin translating immediately.
-
-## Translation Guidelines
-
-- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" — these are universal.
-- **Keep placeholders intact.** Strings like `%1$s` or `%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
-- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
-- **Test if possible.** Switch your device language and open the app to see how translations look in context.
-
----
-
-## Questions?
-
-If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
-
-感謝您協助擴展 Meshtastic 的觸及範圍!
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/units-and-locale.html b/v2.8.0/docs/zh-rTW/user/units-and-locale.html deleted file mode 100644 index 303ab79c67..0000000000 --- a/v2.8.0/docs/zh-rTW/user/units-and-locale.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - Units, Measurement & Locale - - - -
# Units, Measurement & Locale
-
-The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.
-
-## 溫度
-
-Temperature values from environment sensors are transmitted as **°C** and displayed based on your device's temperature unit preference.
-
-![Environment metrics with temperature](../../assets/screenshots/nodes_environment_metrics.png)
-
- Your Setting | You See |
- ------------ | ------- |
- Celsius      | 22°C    |
- Fahrenheit   | 72°F    |
-
-This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.
-
-## Distance & Altitude
-
-Distances between nodes and GPS altitudes are transmitted as **meters** and automatically scaled and converted.
-
-![Distance info display](../../assets/screenshots/nodes_distance_info.png)
-
- Your Setting                     | Small Distance | Large Distance         | 海拔高度     |
- -------------------------------- | -------------- | ---------------------- | -------- |
- 公制(公里/公尺)                        | 350 m          | 2.5 km | 1,200 m  |
- Imperial (US) | 1,148 ft       | 1.6 mi | 3,937 ft |
-
-The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.
-
-### Where these appear
-
-- **Node list** — distance and bearing to each node
-- **Node detail** — altitude, distance from your position
-- **Map** — waypoint distances, traceroute hop distances
-- **Compass** — distance to selected node
-
-## 速度
-
-GPS ground speed is displayed in your locale's preferred speed unit.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- 公制(公里/公尺)                        | 12 km/h |
- Imperial (US) | 7 mph   |
-
-## 風速
-
-Wind speed and gust data from environment sensors are transmitted as **m/s** and converted for display.
-
- Your Setting                     | You See |
- -------------------------------- | ------- |
- 公制(公里/公尺)                        | 5 m/s   |
- Imperial (US) | 11 mph  |
-
-Wind readings appear in the **Node Detail** environment section and the **Environment Telemetry** charts.
-
-## Rainfall
-
-Rainfall measurements (1-hour and 24-hour totals) are transmitted as **mm** and converted for display.
-
- Your Setting                     | You See                |
- -------------------------------- | ---------------------- |
- 公制(公里/公尺)                        | 12 mm                  |
- Imperial (US) | 0.5 in |
-
-## Units That Never Change
-
-Some units are international standards and are displayed the same way regardless of your locale:
-
- Measurement                      | Unit                           | Why                                   |
- -------------------------------- | ------------------------------ | ------------------------------------- |
- 氣壓                               | hPa                            | International meteorological standard |
- Heading / bearing                | ° (degrees) | Universal navigation convention       |
- 輻射                               | μR/hr                          | Standard dosimetry unit               |
- GPS coordinates                  | decimal degrees                | Universal geographic standard         |
- Humidity, battery, soil moisture | %                              | Universal                             |
-
-## Date & Time
-
-All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.
-
- 設定               | What It Controls | 範例                                               |
- ---------------- | ---------------- | ------------------------------------------------ |
- **24-Hour Time** | Clock format     | 14:30 vs 2:30 PM |
- **Date Format**  | Date ordering    | 09/05/2026 vs 05/09/2026                         |
-
-The app also uses **relative time** where it makes sense — for example, "5 min ago" or "2 hours ago" in the node list — which is automatically localised into your device language.
-
-## Changing Your Measurement System (Android)
-
-On Android, your measurement system (metric vs imperial) is tied to your region setting:
-
-1. Open **Android Settings → System → Language & Region**
-2. Change your **Region** or **Measurement units** preference
-3. Return to Meshtastic — values update immediately
-
-> 💡 **Tip:** All measurement formatting is handled centrally and respects your platform's locale, so units stay consistent everywhere in the app.
-
-## 相關主題
-
-- [Node Metrics](node-metrics) — where temperature, distance, and sensor values are displayed
-- [Telemetry & Sensors](telemetry-and-sensors) — the sensors that produce these measurements
-- [Measurement & Formatting](../developer/measurement) — developer reference for the formatting utilities
-- [Settings — Radio & User](settings-radio-user) — region setting that drives unit selection
-
----
-
-
- - \ No newline at end of file diff --git a/v2.8.0/docs/zh-rTW/user/widget.html b/v2.8.0/docs/zh-rTW/user/widget.html deleted file mode 100644 index f7a328635c..0000000000 --- a/v2.8.0/docs/zh-rTW/user/widget.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Home Screen Widget - - - -
# Home Screen Widget
-
-On Android, Meshtastic provides a home screen **widget** that shows live local statistics from your connected radio at a glance — no need to open the app.
-
-## What It Shows
-
-The widget displays the **connected radio's** current local stats:
-
-- **Battery** — the radio's battery level, or _Powered_ when running on external power
-- **ChUtil** — channel utilization (how busy the LoRa channel is, as a percentage)
-- **AirUtil** — airtime utilization (how much of the duty cycle your radio is transmitting)
-- **Traffic** — packets transmitted / received, and duplicates seen
-- **Relays** — packets relayed and relay cancellations (shown when the radio is relaying)
-
-Tap the widget to open the app, or use its refresh control to request fresh stats.
-
-> 💡 **Tip:** The values reflect the radio you are currently connected to. If the app isn't connected to a radio, the widget shows the last known stats until it reconnects.
-
-## Adding the Widget
-
-1. Long-press an empty area of your Android home screen.
-2. Tap **Widgets**.
-3. Find **Meshtastic** in the list and drag the **Local Stats** widget to your home screen.
-4. Resize it as needed — the layout adapts to the available space.
-
-> ⚠️ **Note:** The widget is Android-only. It is not available on the Desktop or iOS builds.
-
-## 相關主題
-
-- [Node Metrics](node-metrics) — the full Signal Quality and Local Stats history inside the app
-- [Connections](connections) — connect to a radio so the widget has stats to show
-- [Discovery](discovery) — channel and airtime utilization across the mesh
-
----
-
- - \ No newline at end of file diff --git a/v2.8.0/el-rGR/index.html b/v2.8.0/el-rGR/index.html deleted file mode 100644 index 6d19e6ffa3..0000000000 --- a/v2.8.0/el-rGR/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Περιγραφή
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/el-rGR/user/android-auto.html b/v2.8.0/el-rGR/user/android-auto.html deleted file mode 100644 index eb7cf9a0c0..0000000000 --- a/v2.8.0/el-rGR/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Μηνύματα

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/el-rGR/user/app-functions.html b/v2.8.0/el-rGR/user/app-functions.html deleted file mode 100644 index 7e5e14c59f..0000000000 --- a/v2.8.0/el-rGR/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/el-rGR/user/connections.html b/v2.8.0/el-rGR/user/connections.html deleted file mode 100644 index 4151d257fe..0000000000 --- a/v2.8.0/el-rGR/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Περιγραφή
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Αποσυνδεδεμένο No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/el-rGR/user/debug-logs.html b/v2.8.0/el-rGR/user/debug-logs.html deleted file mode 100644 index e9fc2dafc8..0000000000 --- a/v2.8.0/el-rGR/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/el-rGR/user/desktop.html b/v2.8.0/el-rGR/user/desktop.html deleted file mode 100644 index dcdf810fe8..0000000000 --- a/v2.8.0/el-rGR/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Χάρτης ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Ρυθμίσεις ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/el-rGR/user/discovery.html b/v2.8.0/el-rGR/user/discovery.html deleted file mode 100644 index a719f6b14e..0000000000 --- a/v2.8.0/el-rGR/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Περιγραφή
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/el-rGR/user/firmware.html b/v2.8.0/el-rGR/user/firmware.html deleted file mode 100644 index 129852be55..0000000000 --- a/v2.8.0/el-rGR/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Κανάλι Περιγραφή
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/el-rGR/user/help-and-docs.html b/v2.8.0/el-rGR/user/help-and-docs.html deleted file mode 100644 index 4fd1547a0d..0000000000 --- a/v2.8.0/el-rGR/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/el-rGR/user/map-and-waypoints.html b/v2.8.0/el-rGR/user/map-and-waypoints.html deleted file mode 100644 index a705b8e530..0000000000 --- a/v2.8.0/el-rGR/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Περιγραφή
Ονομα Short identifier (max 29 characters)
Περιγραφή Optional longer description
Icon Visual marker emoji on the map
Κλειδωμένο If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/el-rGR/user/messages-and-channels.html b/v2.8.0/el-rGR/user/messages-and-channels.html deleted file mode 100644 index 70a208b767..0000000000 --- a/v2.8.0/el-rGR/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Κανάλια

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Περιγραφή
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Σφάλμα Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Σφάλμα Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Λήξη χρονικού ορίου No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
No Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Kein Kanal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Εσφαλμένο Αίτημα Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/el-rGR/user/mqtt.html b/v2.8.0/el-rGR/user/mqtt.html deleted file mode 100644 index 363fdd392a..0000000000 --- a/v2.8.0/el-rGR/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Περιγραφή Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Όνομα χρήστη Broker authentication meshdev
Κωδικός πρόσβασης Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Περιγραφή
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Περιγραφή Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/el-rGR/user/node-metrics.html b/v2.8.0/el-rGR/user/node-metrics.html deleted file mode 100644 index 000ac5291a..0000000000 --- a/v2.8.0/el-rGR/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Περιγραφή
Battery Level Current battery percentage
Τάση Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Θερμοκρασία BME280, BME680, SHT31
Υγρασία BME280, BME680, SHT31
Βαρομετρική Πίεση BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Περιγραφή
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Πράσινο
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Κόκκινο
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Περιγραφή
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Περιγραφή
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Αρχείο Καταγραφής Τοποθεσίας

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/el-rGR/user/nodes.html b/v2.8.0/el-rGR/user/nodes.html deleted file mode 100644 index d93ccecca2..0000000000 --- a/v2.8.0/el-rGR/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Περιγραφή
Client Standard end-user device
Πελάτης Βάση Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Φίλτρο Περιγραφή
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Περιγραφή
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Last heard Last heard
Απόσταση Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/el-rGR/user/onboarding.html b/v2.8.0/el-rGR/user/onboarding.html deleted file mode 100644 index 1d99f955d6..0000000000 --- a/v2.8.0/el-rGR/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/el-rGR/user/settings-module-admin.html b/v2.8.0/el-rGR/user/settings-module-admin.html deleted file mode 100644 index 45b4bd1209..0000000000 --- a/v2.8.0/el-rGR/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Περιγραφή
Enabled Toggle MQTT bridge
Server MQTT broker address
Όνομα χρήστη Authentication username
Κωδικός πρόσβασης Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Περιγραφή
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Περιγραφή
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Περιγραφή
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Περιγραφή
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Περιγραφή
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Περιγραφή
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Μηνύματα Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Περιγραφή
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Περιγραφή
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Περιγραφή
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Περιγραφή
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Περιγραφή
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Περιγραφή
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Διαχείριση

Απομακρυσμένη Διαχείριση

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Επανεκκίνηση

Remotely reboot a connected or administered node.

Πίνακας αποσφαλμάτωσης

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/el-rGR/user/settings-radio-user.html b/v2.8.0/el-rGR/user/settings-radio-user.html deleted file mode 100644 index d19a7bcf41..0000000000 --- a/v2.8.0/el-rGR/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Περιγραφή
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Περιγραφή Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Περιγραφή Default
Περιφέρεια Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Περιγραφή
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Περιγραφή
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Περιγραφή
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Περιγραφή
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Ρυθμίσεις Bluetooth

Setting Περιγραφή
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Περιγραφή
Δημόσιο Κλειδί Your node’s public key (read-only)
Admin Key Key for remote administration
Ιδιωτικό Κλειδί Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/el-rGR/user/signal-meter.html b/v2.8.0/el-rGR/user/signal-meter.html deleted file mode 100644 index 6809861028..0000000000 --- a/v2.8.0/el-rGR/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/el-rGR/user/tak.html b/v2.8.0/el-rGR/user/tak.html deleted file mode 100644 index 3af94639d4..0000000000 --- a/v2.8.0/el-rGR/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Περιγραφή
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Περιγραφή
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Περιγραφή
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/el-rGR/user/telemetry-and-sensors.html b/v2.8.0/el-rGR/user/telemetry-and-sensors.html deleted file mode 100644 index 3036e41d3c..0000000000 --- a/v2.8.0/el-rGR/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Περιγραφή Typical Range
Battery Level Charge percentage 0–100%
Τάση Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Θερμοκρασία Υγρασία Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Περιγραφή
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Περιγραφή
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/el-rGR/user/translate.html b/v2.8.0/el-rGR/user/translate.html deleted file mode 100644 index 3a7843f5ba..0000000000 --- a/v2.8.0/el-rGR/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/el-rGR/user/units-and-locale.html b/v2.8.0/el-rGR/user/units-and-locale.html deleted file mode 100644 index b22bd56b38..0000000000 --- a/v2.8.0/el-rGR/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Θερμοκρασία

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/el-rGR/user/widget.html b/v2.8.0/el-rGR/user/widget.html deleted file mode 100644 index a2be86090e..0000000000 --- a/v2.8.0/el-rGR/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Ελληνικά
Meshtastic Docs ↗

🌐 Ελληνικά — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/en/developer.html b/v2.8.0/en/developer.html deleted file mode 100644 index 7e55e941c8..0000000000 --- a/v2.8.0/en/developer.html +++ /dev/null @@ -1 +0,0 @@ - Developer Guide | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Developer Guide

Technical documentation for contributing to the Meshtastic Android and Desktop app.


Before You Open a PR

Things that trip up first-time contributors — check these before requesting review:

  • Formatting passes — run ./gradlew spotlessApply to auto-format, then verify with spotlessCheck
  • Detekt passes — run ./gradlew detekt and fix all reported issues
  • All tests pass — run ./gradlew test allTests (both are needed: test covers Android-only modules, allTests covers KMP)
  • Screenshot tests pass — if you touched any Compose UI, run ./gradlew :screenshot-tests:validateDebugScreenshotTest and update reference images if needed
  • Protos are an external dependency — protobuf models come from the org.meshtastic:protobufs Maven artifact (pinned in gradle/libs.versions.toml); change protos upstream and bump the version, never edit generated code locally
  • Docs updated — if you changed user-visible UI, update the corresponding page under docs/en/user/
  • Previews updated — if you changed UI composables, update the corresponding *Previews.kt file and the screenshot-test baselines
  • Branch naming — branches must start with feat/, fix/, chore/, docs/, build/, ci/, refactor/, test/, or deps/

What’s New for Developers

July 2026 — Map layer stack (MapLayer.kt, MapLayersManager, GeoJSON/KML import, Site Planner) extracted from the Google flavor into shared androidApp/src/main source (#6148) — F-Droid now renders imported overlays via a new OSMdroid-based renderer, so both flavors compile one implementation.

July 2026 — Persistence — Local Mesh Discovery sessions and cached msh.to device links now persist to Room (DiscoverySessionEntity, DiscoveryPresetResultEntity, DiscoveredNodeEntity, DeviceLinkEntity).

June 2026 — Architecture / Codebase — Protos migrated from the core/proto git submodule to the org.meshtastic:protobufs Maven artifact; there is no longer a local proto module to build or sync.

June 2026 — AIDL/IMeshService removed (#5586). The mesh service is now in-process only, driven entirely through RadioController — no cross-process binder, no aidl stubs.

June 2026 — Testing — Split the screenshot pipeline: the new generate-only :docs-screenshots module holds doc-framed compositions, while :screenshot-tests stays the CI visual-regression gate — so reframing a doc image no longer churns a test baseline.

June 2026 — New feature modules: feature:discovery (mesh network discovery, #5275) and feature:car (Android Auto / Car App Library, google flavor only, #5633).

June 2026 — Testing — Added the :baselineprofile module (#5735): a Macrobenchmark cold-start journey generates a Baseline Profile for :androidApp to AOT-compile hot startup paths.

June 2026 — Persistence — FTS5 full-text message search (#5373): a PacketFts virtual table mirrors Packet.messageText, kept in sync by Room-managed triggers.


Table of contents


diff --git a/v2.8.0/en/developer/adding-a-feature-module.html b/v2.8.0/en/developer/adding-a-feature-module.html deleted file mode 100644 index 9a05ae28a7..0000000000 --- a/v2.8.0/en/developer/adding-a-feature-module.html +++ /dev/null @@ -1,56 +0,0 @@ - Adding a Feature Module | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Adding a Feature Module

Step-by-step guide for creating a new KMP feature module in the Meshtastic project.

1. Create the Module Directory

mkdir -p feature/my-feature/src/{commonMain,commonTest,androidMain,jvmMain,iosMain}/kotlin/org/meshtastic/feature/myfeature
-

2. Create build.gradle.kts

plugins {
-    alias(libs.plugins.meshtastic.kmp.feature)
-}
-
-kotlin {
-    android { withHostTest { isIncludeAndroidResources = true } }
-
-    sourceSets {
-        commonMain.dependencies {
-            implementation(projects.core.common)
-            implementation(projects.core.navigation)
-            implementation(projects.core.resources)
-            implementation(projects.core.ui)
-            implementation(projects.core.di)
-        }
-
-        commonTest.dependencies {
-            implementation(libs.compose.multiplatform.ui.test)
-        }
-
-        jvmTest.dependencies {
-            implementation(compose.desktop.currentOs)
-        }
-    }
-}
-

3. Register in settings.gradle.kts

Add your module to the main include() block:

include(
-    // ...existing modules...
-    ":feature:my-feature",
-)
-

4. Create the DI Module

src/commonMain/kotlin/org/meshtastic/feature/myfeature/di/FeatureMyFeatureModule.kt:

package org.meshtastic.feature.myfeature.di
-
-import org.koin.core.annotation.ComponentScan
-import org.koin.core.annotation.Module
-
-@Module
-@ComponentScan("org.meshtastic.feature.myfeature")
-class FeatureMyFeatureModule
-

5. Register DI in App/Desktop

Add your module to:

  • androidApp/src/main/kotlin/org/meshtastic/app/di/AppKoinModule.kt
  • desktopApp/src/main/kotlin/org/meshtastic/desktop/di/DesktopKoinModule.kt

6. Add Navigation Routes

In core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt:

@Serializable
-sealed interface MyFeatureRoute : Route {
-    @Serializable data object MyFeatureGraph : MyFeatureRoute, Graph
-    @Serializable data object MyFeatureHome : MyFeatureRoute
-}
-

7. Create Navigation Entries

src/commonMain/kotlin/org/meshtastic/feature/myfeature/navigation/MyFeatureNavigation.kt:

package org.meshtastic.feature.myfeature.navigation
-
-import androidx.navigation3.runtime.EntryProviderScope
-import androidx.navigation3.runtime.NavBackStack
-import androidx.navigation3.runtime.NavKey
-import org.meshtastic.core.navigation.MyFeatureRoute
-
-fun EntryProviderScope<NavKey>.myFeatureGraph(backStack: NavBackStack<NavKey>) {
-    entry<MyFeatureRoute.MyFeatureHome> {
-        MyFeatureScreen()
-    }
-}
-

8. Source Set Guidelines

Source Set Contains
commonMain Models, ViewModels, shared UI, DI module, navigation
androidMain Android-specific implementations (e.g., platform APIs)
jvmMain Desktop-specific implementations
iosMain iOS-specific implementations
commonTest Shared unit tests

9. Testing Expectations

Every feature module should have:

  • Unit tests in commonTest for business logic
  • UI tests using compose-multiplatform-ui-test where appropriate
  • No test dependency on other feature modules

10. Checklist

  • Module directory created
  • build.gradle.kts with correct plugins and dependencies
  • Added to settings.gradle.kts
  • DI module created with @ComponentScan
  • DI module registered in app and desktop roots
  • Routes added to Routes.kt
  • Navigation entries registered
  • ./gradlew kmpSmokeCompile passes
  • ./gradlew :feature:my-feature:allTests passes


diff --git a/v2.8.0/en/developer/architecture.html b/v2.8.0/en/developer/architecture.html deleted file mode 100644 index c813fe164c..0000000000 --- a/v2.8.0/en/developer/architecture.html +++ /dev/null @@ -1,17 +0,0 @@ - Architecture | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Architecture

The Meshtastic Android and Desktop apps follow a modular Kotlin Multiplatform (KMP) architecture with clear layer boundaries (iOS is currently a compile-only validation target — there is no shipping iOS app yet).

Layer Overview

┌─────────────────────────────────────────────┐
-│          androidApp / desktopApp            │  Platform entry points
-├─────────────────────────────────────────────┤
-│              feature/* modules               │  UI + Business Logic
-├─────────────────────────────────────────────┤
-│                core/* modules                │  Shared infrastructure
-├─────────────────────────────────────────────┤
-│           Platform (Android/JVM/iOS)         │  OS-specific bindings
-└─────────────────────────────────────────────┘
-

Module Categories

androidApp/ — Android Application

The Android application entry point:

  • Activity, Application, and Manifest definitions
  • Koin DI module composition (AppKoinModule)
  • Flavor-specific bindings (google/, fdroid/)
  • Android-only integrations (widgets, services)

desktopApp/ — Desktop JVM Application

The Desktop (Linux/macOS/Windows) entry point:

  • Compose Desktop window management
  • Desktop-specific DI (DesktopKoinModule)
  • Platform stubs for Android-only capabilities
  • BLE (Kable), Serial, and TCP transport implementations

feature/* — Feature Modules

Each feature/ module owns a vertical slice of functionality:

Module Responsibility
feature:intro Onboarding/welcome flow
feature:messaging Messages, channels, contacts, quick chat
feature:connections Bluetooth/USB/TCP connection management
feature:map Map display, waypoints
feature:node Node list, node detail, metrics
feature:settings All configuration screens
feature:firmware Firmware update flow
feature:docs In-app documentation browser
feature:wifi-provision WiFi provisioning
feature:widget Android home screen widgets
feature:discovery Mesh network discovery
feature:car Android Auto / Car App Library — google flavor only, conditionally registered in the google FlavorModule

Feature modules:

  • Use the meshtastic.kmp.feature convention plugin
  • Depend on core modules, never on other feature modules
  • Own their navigation entries and DI registrations
  • Contain platform-specific implementations in androidMain/jvmMain/iosMain

core/* — Core Modules

Shared infrastructure used by all features:

Module Responsibility
core:common Utilities, extensions, build config
core:navigation Routes, deep links, Navigation 3
core:ui Shared Compose components, icons, theme
core:resources Shared string resources
core:model Domain models
core:data Data layer abstractions
core:domain Use cases / business logic
core:database Room KMP database
core:datastore DataStore preferences
core:prefs App preferences
core:repository Repository interfaces
core:service Mesh service layer
core:di DI utilities
core:network HTTP/serial/transport
core:ble Bluetooth LE abstractions
core:barcode QR / barcode scanning (channel-share QR codes)
core:nfc NFC read/write support
core:takserver Embedded TAK server integration
core:testing Test utilities
core:konsist Konsist architecture/convention tests

Protobuf models are no longer a local module — they come from the external org.meshtastic:protobufs Maven artifact (pinned in gradle/libs.versions.toml).

KMP Source Sets

Each module uses the standard KMP source set hierarchy:

src/
-├── commonMain/     ← Shared code (all platforms)
-├── commonTest/     ← Shared tests
-├── androidMain/    ← Android-specific
-├── jvmMain/        ← Desktop JVM-specific
-├── iosMain/        ← iOS-specific
-└── jvmTest/        ← Desktop test host
-

Golden Rules:

  • No android.* imports in commonMain
  • Platform-specific code goes in appropriate source set
  • Prefer interfaces + DI over expect/actual for complex behaviors
  • Use expect/actual only for simple declarations

Dependency Injection

The project uses Koin with annotation processing:

  • @Module, @Single, @Factory annotations
  • @ComponentScan for automatic registration
  • Feature modules export their own Feature*Module class
  • App/Desktop compose all modules in their root DI configuration

Radio Control

Features issue radio commands through RadioController (core:repository), a composite of four focused sub-interfaces so callers can depend on just the slice they need:

Sub-interface Responsibility
AdminController Config, channels, owner, device lifecycle, editSettings { } transactions
MessagingController Send packets, reactions, shared contacts
NodeController Favorite, ignore, mute, remove nodes
QueryController Telemetry, traceroute, position/user-info queries

RadioControllerImpl (core:service) is the in-process composition root for all targets (Desktop, iOS, single-process Android). It assembles the four sub-controllers via Kotlin interface delegation and adds the cross-cutting concerns (connection state, packet-id, location, device-address switching). Commands are direct suspend calls; admin writes are fire-and-forget because the device is the source of truth (local persistence is an optimistic cache). The layered shape mirrors the meshtastic-sdk AdminApi/TelemetryApi design to ease a future SDK migration.

Service Repository

ServiceRepository is the reactive bridge between the mesh service and all feature/UI layers. It is decomposed into focused provider interfaces following the Interface Segregation Principle:

Interface Responsibility
ConnectionStateProvider Read-only connectionState: StateFlow<ConnectionState>
TracerouteResponseProvider Traceroute response state + clear
NeighborInfoResponseProvider Neighbor info response state + clear
ServiceStateWriter Write-side for handlers (set, emit, clear*)

ServiceRepository extends all four interfaces — consumers inject the narrowest interface they actually need. For example, ContactsViewModel injects only ConnectionStateProvider rather than the entire ServiceRepository, preventing accidental access to write operations from UI code. RadioController also extends ConnectionStateProvider so VMs that already inject a controller sub-interface can read connection state without a separate dependency.

Navigation uses Navigation 3 with typed routes:

  • All routes defined in core/navigation/Routes.kt
  • Routes are @Serializable data classes/objects
  • Deep links resolved through DeepLinkRouter
  • Each feature registers its own navigation entries

See Navigation & Deep Links for details.



diff --git a/v2.8.0/en/developer/codebase.html b/v2.8.0/en/developer/codebase.html deleted file mode 100644 index c836d834c6..0000000000 --- a/v2.8.0/en/developer/codebase.html +++ /dev/null @@ -1,75 +0,0 @@ - Codebase | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Codebase

Repository layout, namespacing conventions, and build system overview.

Repository Structure

Meshtastic-Android/
-├── androidApp/                 # Android application module
-│   ├── src/main/           # Shared Android code
-│   ├── src/google/         # Google Play flavor (Gemini, proprietary)
-│   └── src/fdroid/         # F-Droid flavor (FOSS-only)
-├── desktopApp/                # Desktop JVM application
-├── feature/                # Feature modules (KMP)
-│   ├── intro/
-│   ├── messaging/
-│   ├── connections/
-│   ├── map/
-│   ├── node/
-│   ├── settings/
-│   ├── firmware/
-│   ├── docs/
-│   ├── wifi-provision/
-│   ├── widget/
-│   ├── discovery/
-│   └── car/
-├── core/                   # Core infrastructure modules (KMP)
-│   ├── barcode/
-│   ├── ble/
-│   ├── common/
-│   ├── data/
-│   ├── database/
-│   ├── datastore/
-│   ├── di/
-│   ├── domain/
-│   ├── konsist/
-│   ├── model/
-│   ├── navigation/
-│   ├── network/
-│   ├── nfc/
-│   ├── prefs/
-│   ├── repository/
-│   ├── resources/
-│   ├── service/
-│   ├── takserver/
-│   ├── testing/
-│   └── ui/
-├── baselineprofile/        # Baseline Profile generation for :androidApp
-├── screenshot-tests/       # Compose Preview screenshot tests (visual-regression gate)
-├── docs-screenshots/       # Doc-framed composition screenshots (generate-only, not CI-gated)
-├── build-logic/            # Convention plugins and build helpers
-│   └── convention/
-├── docs/                   # Documentation source (markdown)
-│   └── en/                 # English source; other locales live under docs/<locale>/user/
-│       ├── user/
-│       └── developer/
-├── gradle/                 # Gradle wrapper and version catalog
-│   └── libs.versions.toml
-├── specs/                  # Feature specifications
-└── .github/workflows/      # CI/CD workflows
-

Namespacing Convention

All Kotlin packages follow the pattern:

org.meshtastic.{layer}.{module}.{subpackage}
-

Examples:

  • org.meshtastic.core.navigation — core navigation module
  • org.meshtastic.feature.docs.ui — docs feature UI package
  • org.meshtastic.app.di — app DI configuration

Build System

Gradle Kotlin DSL

All build files use Kotlin DSL (.gradle.kts). Configuration:

  • Version catalog: gradle/libs.versions.toml
  • Convention plugins: build-logic/convention/
  • Settings: settings.gradle.kts

Convention Plugins

Located in build-logic/convention/src/main/kotlin/:

Plugin Purpose
meshtastic.kmp.feature Standard feature module setup
meshtastic.kmp.jvm.android JVM + Android target configuration
meshtastic.kotlinx.serialization Serialization plugin setup

Build Variants (Android)

Flavor Description
google Google Play distribution; includes proprietary APIs
fdroid F-Droid distribution; FOSS-only dependencies

Key Gradle Tasks

# Compile check across all KMP targets
-./gradlew kmpSmokeCompile
-
-# Run all tests
-./gradlew allTests
-
-# Code quality
-./gradlew spotlessCheck detekt
-
-# Android build
-./gradlew assembleGoogleDebug assembleFdroidDebug
-
-# Desktop run
-./gradlew :desktopApp:run
-
-# Desktop native installers for the current OS (DMG / MSI+EXE / DEB+RPM+AppImage)
-./gradlew :desktopApp:packageReleaseDistributionForCurrentOS
-
-# API reference (Dokka HTML → build/dokka/html)
-./gradlew dokkaGeneratePublicationHtml
-

Version Catalog Highlights

Key dependencies in gradle/libs.versions.toml:

Category Library
Compose Compose Multiplatform (JetBrains)
Navigation Navigation 3
DI Koin (annotations)
Serialization kotlinx.serialization
Database Room KMP
Networking Ktor
Markdown multiplatform-markdown-renderer
Testing kotlin-test, compose-ui-test


diff --git a/v2.8.0/en/developer/contributing.html b/v2.8.0/en/developer/contributing.html deleted file mode 100644 index a8c8858833..0000000000 --- a/v2.8.0/en/developer/contributing.html +++ /dev/null @@ -1,8 +0,0 @@ - Contributing | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Contributing

Guidelines for contributing to the Meshtastic Android/Desktop project (a KMP codebase that also compiles for iOS).

Branch Naming

Branches use conventional-commit style prefixes:

Prefix Use for
feat/<scope> New user-visible behavior
fix/<scope> Bug fixes
refactor/<scope> Code structure changes
chore/<scope> Tooling, deps, CI, cleanup
docs/<scope> Documentation only
build/<scope> Build system changes
ci/<scope> CI workflow changes
test/<scope> Test additions or fixes
deps/<scope> Dependency updates

Timestamp-based spec prefixes (YYYYMMDD-HHMMSS-feature-name, as created by /speckit.git.feature) are also valid for spec-driven work.

Examples:

  • feat/desktop-ble-transport
  • fix/bluetooth-reconnect
  • 20260601-074653-air-quality-telemetry

Development Workflow

  1. Fork the repository (external contributors) or create a branch (maintainers).
  2. Implement your changes following the architecture guidelines.
  3. Test locally: ./gradlew spotlessCheck detekt kmpSmokeCompile test allTests
  4. Commit with clear, descriptive messages.
  5. Push and open a Pull Request.

Commit Messages

Follow conventional commit style:

feat(docs): add in-app documentation browser
-fix(ble): handle reconnection timeout
-refactor(navigation): migrate to typed routes
-test(search): add keyword ranking tests
-

Pull Request Checklist

Before submitting:

  • Code compiles on all targets: ./gradlew kmpSmokeCompile
  • All tests pass: ./gradlew allTests
  • Code style passes: ./gradlew spotlessCheck
  • Static analysis passes: ./gradlew detekt
  • New code has appropriate test coverage
  • No android.* imports in commonMain
  • Koin modules registered if new DI is added
  • Routes added to Routes.kt if new navigation is introduced
  • Documentation updated if user-facing behavior changes

Code Style

  • Formatting: Enforced by Spotless (KtLint rules)
  • Static analysis: Detekt with project-specific configuration
  • Imports: No wildcard imports; organized automatically by Spotless
  • Line length: 120 characters maximum

Run formatting:

./gradlew spotlessApply
-

Architecture Rules

  • Feature modules must not depend on other feature modules
  • commonMain must not contain android.*, java.io.*, or platform-specific imports
  • Prefer interface + DI over expect/actual for complex platform behaviors
  • All navigation routes must be @Serializable and defined in Routes.kt
  • Use Koin annotations (@Single, @Factory, @Module) for dependency injection

Verification

Full pre-merge verification:

./gradlew spotlessCheck detekt kmpSmokeCompile test allTests
-

For docs-specific changes, also run:

./gradlew generateDocsBundle validateDocsBundle
-

Getting Help

  • Meshtastic Discord — #app-development channel
  • GitHub Issues — for bug reports and feature requests
  • GitHub Discussions — for questions and ideas


diff --git a/v2.8.0/en/developer/measurement.html b/v2.8.0/en/developer/measurement.html deleted file mode 100644 index 66086369f5..0000000000 --- a/v2.8.0/en/developer/measurement.html +++ /dev/null @@ -1,45 +0,0 @@ - Measurement & Formatting | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Measurement & Formatting

How the Meshtastic Android/KMP app formats numbers, units, and locale-sensitive values.


Overview

All measurement data transmitted by Meshtastic radios uses metric units (meters, °C, hPa, m/s, etc.). The app converts and formats these values for display using two core utilities:

Utility Location Purpose
MetricFormatter core/common/.../util/MetricFormatter.kt Converts and formats physical measurements (temperature, pressure, speed, etc.)
NumberFormatter core/common/.../util/NumberFormatter.kt Low-level fixed-point number formatting with locale-independent dot separator

Both live in org.meshtastic.core.common.util and are available to all KMP targets (Android, Desktop, iOS).


MetricFormatter API

MetricFormatter is a Kotlin object with pure functions for each measurement type:

object MetricFormatter {
-    fun temperature(celsius: Float, isFahrenheit: Boolean): String
-    fun voltage(volts: Float, decimalPlaces: Int = 2): String
-    fun current(milliAmps: Float, decimalPlaces: Int = 1): String
-    fun percent(value: Float, decimalPlaces: Int = 1): String
-    fun humidity(value: Float): String
-    fun pressure(hPa: Float, decimalPlaces: Int = 1): String
-    fun snr(value: Float, decimalPlaces: Int = 1): String
-    fun rssi(value: Int): String
-    fun windSpeed(metersPerSecond: Float, isImperial: Boolean, decimalPlaces: Int = 1): String
-    fun rainfall(millimeters: Float, isImperial: Boolean, decimalPlaces: Int = 1): String
-}
-

Usage

// Temperature — Fahrenheit conversion is handled automatically
-MetricFormatter.temperature(22.5f, isFahrenheit = true)  // "72.5°F"
-MetricFormatter.temperature(22.5f, isFahrenheit = false)  // "22.5°C"
-
-// Signal metrics
-MetricFormatter.snr(-5.2f)    // "-5.2 dB"
-MetricFormatter.rssi(-97)     // "-97 dBm"
-
-// Environment
-MetricFormatter.pressure(1013.25f)  // "1013.3 hPa"
-MetricFormatter.humidity(65.0f)     // "65%"
-MetricFormatter.windSpeed(3.7f, isImperial = false)  // "3.7 m/s"
-MetricFormatter.windSpeed(3.7f, isImperial = true)   // "8.3 mph"
-MetricFormatter.rainfall(12.3f, isImperial = false)  // "12.3 mm"
-MetricFormatter.rainfall(12.3f, isImperial = true)   // "0.5 in"
-
-// Power
-MetricFormatter.voltage(3.95f)      // "3.95 V"
-MetricFormatter.current(125.0f)     // "125.0 mA"
-

NumberFormatter

NumberFormatter provides locale-independent decimal formatting using pure arithmetic (no String.format or DecimalFormat):

object NumberFormatter {
-    fun format(value: Double, decimalPlaces: Int): String
-    fun format(value: Float, decimalPlaces: Int): String
-}
-

Why locale-independent? Meshtastic is a mesh networking app where consistency matters — sensor readings shared between nodes should look the same everywhere. NumberFormatter always uses . as the decimal separator.


Unit Conversion

Three measurements convert away from metric for display, each gated by a boolean flag sourced from the user’s device locale or preferences:

Measurement Flag Conversion
temperature isFahrenheit °F = °C × 1.8 + 32
windSpeed isImperial m/s × 2.23694 → mph
rainfall isImperial mm ÷ 25.4 → in

Everything else (voltage, current, pressure, SNR, RSSI, humidity, percent) displays in its native metric units. The user-facing Units & Locale page explains what end users see.


Adding a New Measurement Type

To add a new measurement formatter:

  1. Add a function to MetricFormatter in core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MetricFormatter.kt:

    fun radiation(microSieverts: Float, decimalPlaces: Int = 2): String =
    -    "${NumberFormatter.format(microSieverts, decimalPlaces)} μSv/h"
    -
  2. Add tests in core/common/src/commonTest/:

    @Test
    -fun radiationFormatting() {
    -    assertEquals("0.15 μSv/h", MetricFormatter.radiation(0.15f))
    -    assertEquals("1.23 μSv/h", MetricFormatter.radiation(1.234f))
    -}
    -
  3. Use in UI — call from any commonMain composable or ViewModel:

    Text(text = MetricFormatter.radiation(node.radiationLevel))
    -
  4. Run verification:

    ./gradlew :core:common:allTests
    -

DateFormatter

Date and time formatting uses the DateFormatter expect object with platform-specific actual implementations:

Function Output Example
formatRelativeTime() “5 min ago”
formatDateTime() “May 13, 2026 2:30 PM”
formatShortDate() “May 13”
formatTime() “2:30 PM”
formatTimeWithSeconds() “2:30:45 PM”
formatDate() “2026-05-13”
formatDateTimeShort() “5/13/26 2:30 PM”

Unlike MetricFormatter, DateFormatter is declared with expect/actual (an expect object in commonMain, an actual object per platform) because date formatting inherently depends on platform locale APIs.


Design Decisions

Decision Rationale
Locale-independent decimal separator (.) Mesh data shared between nodes must be consistent
Pure arithmetic formatting (no DecimalFormat) Works identically on JVM, Native, and JS targets
Only temperature, wind speed, and rainfall convert The remaining metric units are universally understood in their native form
object singleton pattern Stateless utility — no instance management needed

  • User-facing docs: Units & Locale explains what end users see
  • Source code: core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MetricFormatter.kt
  • Tests: core/common/src/commonTest/kotlin/org/meshtastic/core/common/util/MetricFormatterTest.kt

diff --git a/v2.8.0/en/developer/navigation-and-deep-links.html b/v2.8.0/en/developer/navigation-and-deep-links.html deleted file mode 100644 index 99bd2c5206..0000000000 --- a/v2.8.0/en/developer/navigation-and-deep-links.html +++ /dev/null @@ -1,25 +0,0 @@ - Navigation & Deep Links | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Navigation & Deep Links

The app uses Navigation 3 with typed, serializable routes and centralized deep link resolution.

Route Architecture

All routes are defined in core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt.

Route Hierarchy

interface Route : NavKey           // All routes implement NavKey
-interface Graph : Route            // Graph roots for navigation hierarchies
-
-@Serializable
-sealed interface SettingsRoute : Route {
-    @Serializable data class Settings(val destNum: Int? = null) : SettingsRoute, Graph
-    @Serializable data object DeviceConfiguration : SettingsRoute
-    @Serializable data object HelpDocs : SettingsRoute
-    @Serializable data class HelpDocPage(val pageId: String) : SettingsRoute
-    // ...
-}
-

Conventions

  • Routes are @Serializable for state restoration
  • Use data object for routes without parameters
  • Use data class for parameterized routes
  • Group related routes under a sealed interface
  • Graph entry points implement both the route interface and Graph

DeepLinkRouter in core/navigation maps URI deep links to typed backstack lists.

URI Format

Both forms resolve through the same DeepLinkRouter, so any path below works with either scheme:

meshtastic://meshtastic/{path}
-https://meshtastic.org/{path}       # App Link, android:autoVerify — also opens in-app on a real device/adb
-

adb shell am start -a android.intent.action.VIEW -d "meshtastic://meshtastic/{path}" is the fastest way to trigger any route below from a shell or automation script without touching the UI.

For the https form to open in-app, each top-level path segment must also be declared as an android:pathPrefix in the android:autoVerify intent-filter in androidApp/src/main/AndroidManifest.xml — otherwise the link opens in the browser. Adding a new top-level route therefore takes three steps: add the segment to DeepLinkRouter.topLevelPathSegments (the router refuses to dispatch segments outside that set), add its when branch in DeepLinkRouter.route(), and add the matching pathPrefix to the manifest. DeepLinkManifestConsistencyTest (androidApp unit tests) checks the manifest against the set, so a missing manifest entry fails CI.

Source of truth: the always-current list of top-level segments is topLevelPathSegments in DeepLinkRouter — sub-paths live in the route() when block plus its helper maps (settingsSubRoutes, nodeDetailSubRoutes); the class-level KDoc is illustrative, not exhaustive. It also exists as executable spec in DeepLinkRouterTest.kt. The table below is a snapshot for quick reference — check those two files if it looks out of date.

URI Path Route Notes
/connections ConnectionsRoute.Connections(null) Connections screen
/connections?address={prefixedAddress} ConnectionsRoute.Connections(address) Auto-connects to a device without manual selection — the address uses the app’s internal transport-prefixed format: t192.168.1.1:4403 (TCP), xAA:BB:CC:DD:EE:FF (BLE), s/dev/ttyUSB0 (serial). Intended for scripts/AI tooling driving the app.
/connections?address=n ConnectionsRoute.Connections("n") Disconnects the current device instead of connecting (n = the internal “no device selected” sentinel).
/wifi-provision WifiProvisionRoute.WifiProvision(null) WiFi provisioning screen
/wifi-provision?address={mac} WifiProvisionRoute.WifiProvision(mac) Provisioning targeting a specific device MAC
/settings SettingsRoute.Settings(null) Settings root
/settings/helpDocs SettingsRoute.HelpDocs Docs browser
/settings/helpDocs/{pageId} SettingsRoute.HelpDocPage(pageId) Specific doc page
/settings/help-docs SettingsRoute.HelpDocs Compatibility alias
/discovery DiscoveryRoute.DiscoveryGraph Local Mesh Discovery entry point
/settings/local-mesh-discovery/session/{sessionId} DiscoveryRoute.DiscoverySummary(sessionId) Discovery session result
/nodes NodesRoute.Nodes Node list
/nodes/{destNum} NodesRoute.NodeDetail(destNum) Node detail
/nodes/{destNum}/{metric} e.g. NodeDetailRoute.DeviceMetrics(destNum) Specific node metric tab (device-metrics, signal, power, traceroute, pax, neighbors, …)
/messages ContactsRoute.Contacts Conversation list
/messages/{contactKey} ContactsRoute.Messages(contactKey) Specific conversation
/share?message={text} ContactsRoute.Share(message) Share-to-contact composer
/quickchat ContactsRoute.QuickChat Quick chat picker
/map MapRoute.Map(null) Map view
/map/{waypointId} MapRoute.Map(waypointId) Map centered on a waypoint
/channels ChannelsRoute.Channels Channel list
/firmware FirmwareRoute.FirmwareGraph Firmware screen
/firmware/update FirmwareRoute.FirmwareUpdate Firmware update flow

Backstack Synthesis

Deep links synthesize a full backstack, not just the target screen:

// /settings/helpDocs/messages-and-channels produces:
-listOf(
-    SettingsRoute.Settings(null),
-    SettingsRoute.HelpDocs,
-    SettingsRoute.HelpDocPage("messages-and-channels"),
-)
-

This ensures the user can navigate “up” correctly.

  1. Define the typed route in Routes.kt.
  2. Add the mapping in DeepLinkRouter.settingsSubRoutes (or equivalent for other graphs).
  3. Add a test in DeepLinkRouterTest.kt.
  4. Register the navigation entry in the appropriate feature module.
  5. Update the KDoc list on DeepLinkRouter.route() and the table above — they’re the two places tooling/agents look to discover what deep links exist.

Navigation Entry Registration

Each feature module provides entries via an extension function:

fun EntryProviderScope<NavKey>.docsEntries(backStack: NavBackStack<NavKey>) {
-    entry<SettingsRoute.HelpDocs> { DocsBrowserScreen(backStack) }
-    entry<SettingsRoute.HelpDocPage> { route -> DocsPageRouteScreen(route.pageId, backStack) }
-}
-

These are called from the settings navigation composition.

Testing

Deep link routing is tested in:

core/navigation/src/commonTest/kotlin/org/meshtastic/core/navigation/DeepLinkRouterTest.kt
-


diff --git a/v2.8.0/en/developer/persistence.html b/v2.8.0/en/developer/persistence.html deleted file mode 100644 index e5b9577472..0000000000 --- a/v2.8.0/en/developer/persistence.html +++ /dev/null @@ -1 +0,0 @@ - Persistence | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Persistence

How the Meshtastic app stores data across different mechanisms.

Room KMP Database

Module: core:database

The primary structured data store:

  • Node information and history
  • Message history
  • Waypoints
  • Telemetry data
  • Channel configurations

Key Points

  • Uses Room KMP for cross-platform compatibility
  • Migrations managed through Room’s built-in migration system
  • DAO interfaces live in core:database
  • Repository layer in core:repository provides the public API
  • Full-text message search is backed by an FTS5 content table (PacketFts) over Packet, kept in sync by Room-managed triggers

What’s Stored in Room

Entity Description
NodeEntity All known mesh nodes and their metadata
MyNodeEntity The local node’s own info
Packet Message history (channel and direct), waypoints, and telemetry data
PacketFts FTS5 virtual table mirroring Packet.messageText for full-text message search (Room-managed INSERT/UPDATE/DELETE triggers keep it in sync)
ContactSettings Per-contact mute and read-state
ReactionEntity Emoji reactions on messages
MeshLog Raw mesh protocol logs
MetadataEntity Device metadata (firmware version, hardware model)
QuickChatAction User-configured quick-chat messages
DeviceHardwareEntity Cached device hardware catalog
FirmwareReleaseEntity Cached firmware release info
TracerouteNodePositionEntity Traceroute hop position data
DiscoverySessionEntity A Local Mesh Discovery scan session (timestamp, presets scanned, home preset)
DiscoveryPresetResultEntity Per-preset result within a discovery session
DiscoveredNodeEntity Nodes found during a discovery preset scan
DeviceLinkEntity Cached msh.to device links from the Meshtastic API

💡 Note: Waypoints, telemetry, and channel data are stored within the Packet entity (using the port_num field to distinguish packet types) rather than in separate tables.

DataStore Preferences

Module: core:datastore

For lightweight key-value preferences:

  • Local radio configuration (LocalConfig proto)
  • Module configuration (ModuleConfig proto)
  • Channel set data
  • Local statistics
  • Recently connected device addresses

Core Prefs

Module: core:prefs

Higher-level preferences abstraction:

  • User-facing settings
  • App behavior configuration
  • Feature toggles

What Docs Intentionally Skip

The feature:docs module uses no Room or persistent database. Documentation ships as build-time assets versioned with the app binary, so it stays fully offline, is replaced on each update, and needs no migration story. Optional UX state (e.g. last viewed page) could live in core:prefs but isn’t part of the docs data model.

Best Practices

  • Use Room for structured, queryable data that changes at runtime
  • Use DataStore for simple preferences and state
  • Use bundled resources/assets for static content
  • Never store sensitive data (keys, passwords) in plain Room tables
  • Always provide migrations for schema changes


diff --git a/v2.8.0/en/developer/testing.html b/v2.8.0/en/developer/testing.html deleted file mode 100644 index ad2ccd2ed2..0000000000 --- a/v2.8.0/en/developer/testing.html +++ /dev/null @@ -1,31 +0,0 @@ - Testing | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Testing

Testing strategy and practices for the Meshtastic KMP project.

Test Categories

KMP Unit Tests (commonTest)

Shared tests that run on all platforms:

./gradlew allTests
-
  • Business logic tests
  • Data model validation
  • Search/ranking algorithm tests
  • Route serialization tests

Android Host Tests

Android-specific tests that run on JVM:

./gradlew test
-
  • ViewModel tests
  • Repository tests with Room fakes
  • Android-specific integration tests

Compose UI Tests

Compose Multiplatform UI test framework:

@Test
-fun myScreenTest() = runComposeUiTest {
-    setContent { MyScreen() }
-    onNodeWithText("Expected").assertIsDisplayed()
-}
-

Located in commonTest or jvmTest source sets.

Screenshot Tests

Uses Android Gradle Plugin’s native (layoutlib) screenshot testing framework, split across two modules:

  • :screenshot-tests — the visual-regression gate. CI runs validateDebugScreenshotTest on it; reframing one of these baselines is a real diff to review. Holds atomic, dual-purpose components.
  • :docs-screenshots — generate-only, not validated in CI. Holds doc-framed compositions whose framing is tuned for the docs site, so reframing a doc image never churns the regression gate.
./gradlew :screenshot-tests:updateDebugScreenshotTest    # record regression goldens
-./gradlew :screenshot-tests:validateDebugScreenshotTest  # compare against goldens (CI gate)
-./gradlew :docs-screenshots:updateDebugScreenshotTest    # record doc-framed composition images
-./gradlew :screenshot-tests:copyDocsScreenshots          # copy doc images from BOTH modules into docs/assets
-

Rendering is host-deterministic here (layoutlib): a local update produces references byte-identical to CI, so locally-recorded goldens pass validate. See docs/assets/screenshots/README.md for which module a new screenshot belongs in.

Baseline Profile / Startup Performance

The :baselineprofile module (#5735) generates a Baseline Profile for :androidApp, AOT-compiling the hot startup paths so ART doesn’t pay the JIT cost on first launch. It targets the google flavor (the variant most users run).

The Macrobenchmark generator (BaselineProfileGenerator) and the before/after benchmark (StartupBenchmark) live in baselineprofile/src/main/kotlin/org/meshtastic/baselineprofile/. Both run on a device/emulator:

./gradlew :androidApp:generateGoogleReleaseBaselineProfile   # Generate the profile (commit the output)
-./gradlew :androidApp:benchmarkGoogleReleaseBaselineProfile  # Quantify the cold-start win
-

The generated profile is merged into androidApp/src/googleRelease/generated/baselineProfiles/ and packaged into release builds via androidx.profileinstaller.

⚠️ Warning: The journey currently covers cold start only (launch → first frame), because CI has no paired radio. Post-connection screens (node list, map, message thread) are not yet AOT-compiled; extend the journey once a fake transport or connected device is wired into the harness.

Test Organization

feature/my-feature/src/
-├── commonTest/kotlin/org/meshtastic/feature/myfeature/
-│   ├── MyBusinessLogicTest.kt
-│   └── MyModelTest.kt
-└── jvmTest/kotlin/org/meshtastic/feature/myfeature/
-    └── MyDesktopSpecificTest.kt
-

Testing Guidelines

DO

  • Write tests in commonTest when possible (runs everywhere)
  • Test business logic independently from UI
  • Use fakes/stubs instead of mocks where practical
  • Test edge cases: empty states, error states, boundary values
  • Test deep link routing in DeepLinkRouterTest
  • Keep tests fast — no network, no disk I/O in unit tests

DON’T

  • Don’t test framework behavior (Compose internals, Room queries)
  • Don’t create tests that depend on other feature modules
  • Don’t use Thread.sleep — use coroutine test dispatchers
  • Don’t rely on test execution order

Running Tests

# All KMP tests
-./gradlew allTests
-
-# Specific module
-./gradlew :feature:docs:allTests
-
-# Code quality
-./gradlew spotlessCheck detekt
-
-# Full verification
-./gradlew spotlessCheck detekt kmpSmokeCompile test allTests
-

CI Integration

Tests run automatically on:

  • Pull request creation/update
  • Push to main
  • Pre-release validation

CI runs on GitHub-hosted Ubuntu 24.04 runners (most jobs use the ubuntu-24.04-arm ARM runners, a few use ubuntu-24.04) with JDK 25 and Gradle caching.



diff --git a/v2.8.0/en/developer/transport.html b/v2.8.0/en/developer/transport.html deleted file mode 100644 index 7801af33af..0000000000 --- a/v2.8.0/en/developer/transport.html +++ /dev/null @@ -1,9 +0,0 @@ - Transport | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

Transport

Meshtastic communicates between the app and radio hardware through multiple transport mechanisms.

Transport Abstraction

The transport layer is abstracted through interfaces defined in core:repository (RadioTransport, RadioTransportFactory, RadioInterfaceService), with the concrete transports implemented in core:network (BleRadioTransport, TCP, mock/replay) and core:ble. This lets the app work identically regardless of the underlying connection type.

App ← RadioController → Transport (BLE | Serial | TCP)
-

Bluetooth Low Energy (BLE)

Module: core:ble
Platforms: Android, Desktop (JVM via Kable), iOS (planned)

The primary transport for mobile devices and also available on desktop:

  • Service discovery for Meshtastic GATT services
  • Characteristic-based read/write for protobuf packets
  • Connection state management and automatic reconnection
  • MTU negotiation for optimal packet sizes

Key Classes

  • core/ble/ — BLE scanning, connection, and GATT operations
  • Platform-specific implementations in androidMain and jvmMain (Kable)

USB Serial

Module: core:network
Platforms: Android (OTG), Desktop

Serial communication over USB:

  • Uses usb-serial-for-android library on Android
  • Direct serial port access on Desktop (JVM)
  • Probe table for supported USB vendor/product IDs
  • Automatic detection when USB device is connected

Key Classes

  • Serial prober and transport factory in core/network
  • Desktop-specific serial in desktopApp/src/main/kotlin/.../radio/

TCP/IP

Module: core:network
Platforms: Android, Desktop (iOS: code compiles, but there’s no iOS app target or RadioTransportFactory yet — see Transport Factory below)

Network-based transport for WiFi-enabled radios:

  • TCP socket connection to radio’s IP address
  • Default port: 4403
  • Used for development with simulated radios
  • Available when BLE/USB is impractical

Transport Factory

The RadioTransportFactory interface abstracts transport creation:

interface RadioTransportFactory {
-    val supportedDeviceTypes: List<DeviceType>
-    fun createTransport(address: String, service: RadioInterfaceService): RadioTransport
-    fun isMockTransport(): Boolean
-    fun isAddressValid(address: String?): Boolean
-    fun toInterfaceAddress(interfaceId: InterfaceId, rest: String): String
-}
-

Platform-specific implementations:

  • Android: Supports BLE + USB + TCP
  • Desktop: Supports BLE (Kable) + USB + TCP
  • iOS: Planned BLE + TCP

Connection Lifecycle

  1. Discovery — Scan for available radios (BLE scan / USB detect / manual TCP)
  2. Connection — Establish link to selected radio
  3. Handshake — Exchange node info and configuration
  4. Active — Normal message exchange
  5. Disconnection — Clean teardown or error recovery

Adding a New Transport

  1. Implement RadioTransport interface
  2. Register in platform-specific RadioTransportFactory
  3. Add connection UI in feature:connections
  4. Update DI bindings for the platform


diff --git a/v2.8.0/en/index.html b/v2.8.0/en/index.html deleted file mode 100644 index bf46af1eea..0000000000 --- a/v2.8.0/en/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Description
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/en/user.html b/v2.8.0/en/user.html deleted file mode 100644 index a48d97775e..0000000000 --- a/v2.8.0/en/user.html +++ /dev/null @@ -1 +0,0 @@ - User Guide | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Meshtastic Docs ↗

User Guide

Documentation for using the Meshtastic Android and Desktop app.


What’s New in the Docs

July 2026 — Discovery — New Mesh Beacon: broadcast invitations to your mesh and receive Mesh invitations from others, with one-tap join or a preset-seeded Discovery scan.

July 2026 — Settings — Radio & User — Security config now offers encrypted on-device key backup/restore and a packet-authenticity Protection Level (Strict / Balanced / Compatible).

July 2026 — MQTT — Documented the “MQTT proxy on this phone” toggle: see whether your phone is relaying MQTT for the node and cut it off immediately.

July 2026 — Map & Waypoints — Waypoints can now define a geofence: get notified when nodes enter or leave an area. Creator-only by default, with a per-geofence opt-in for others.

July 2026 — Map & Waypoints — Map Layers (import your own .kml/.kmz/GeoJSON overlays) and Site Planner (RF coverage estimation) are now available on F-Droid, not just Google Play.

July 2026 — Nodes — Added a “Nodes per Hop” histogram showing how many nodes sit at each hop distance, filterable to a last-heard time window.


Table of contents


diff --git a/v2.8.0/en/user/android-auto.html b/v2.8.0/en/user/android-auto.html deleted file mode 100644 index 2e228fb5f9..0000000000 --- a/v2.8.0/en/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/en/user/app-functions.html b/v2.8.0/en/user/app-functions.html deleted file mode 100644 index 32b6582a48..0000000000 --- a/v2.8.0/en/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/en/user/connections.html b/v2.8.0/en/user/connections.html deleted file mode 100644 index 6ed6711198..0000000000 --- a/v2.8.0/en/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Description
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Disconnected No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/en/user/debug-logs.html b/v2.8.0/en/user/debug-logs.html deleted file mode 100644 index d0f5050979..0000000000 --- a/v2.8.0/en/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/en/user/desktop.html b/v2.8.0/en/user/desktop.html deleted file mode 100644 index 89d52392c8..0000000000 --- a/v2.8.0/en/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/en/user/discovery.html b/v2.8.0/en/user/discovery.html deleted file mode 100644 index 97ced2a6e5..0000000000 --- a/v2.8.0/en/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Description
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/en/user/firmware.html b/v2.8.0/en/user/firmware.html deleted file mode 100644 index 5d136fb791..0000000000 --- a/v2.8.0/en/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Channel Description
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/en/user/help-and-docs.html b/v2.8.0/en/user/help-and-docs.html deleted file mode 100644 index aca420b131..0000000000 --- a/v2.8.0/en/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/en/user/map-and-waypoints.html b/v2.8.0/en/user/map-and-waypoints.html deleted file mode 100644 index 6d003cfea8..0000000000 --- a/v2.8.0/en/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Description
Name Short identifier (max 29 characters)
Description Optional longer description
Icon Visual marker emoji on the map
Locked If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/en/user/messages-and-channels.html b/v2.8.0/en/user/messages-and-channels.html deleted file mode 100644 index cb22c489ec..0000000000 --- a/v2.8.0/en/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Description
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Error Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Error Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
No Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
No Channel The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Bad Request Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/en/user/mqtt.html b/v2.8.0/en/user/mqtt.html deleted file mode 100644 index 9c20f88b79..0000000000 --- a/v2.8.0/en/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Description Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Description
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Description Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/en/user/node-metrics.html b/v2.8.0/en/user/node-metrics.html deleted file mode 100644 index 69a761c038..0000000000 --- a/v2.8.0/en/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Description
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Description
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Description
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Description
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/en/user/nodes.html b/v2.8.0/en/user/nodes.html deleted file mode 100644 index d6aba38013..0000000000 --- a/v2.8.0/en/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Description
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Description
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Description
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Last heard Last heard
Distance Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/en/user/onboarding.html b/v2.8.0/en/user/onboarding.html deleted file mode 100644 index 3b7ac35063..0000000000 --- a/v2.8.0/en/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/en/user/settings-module-admin.html b/v2.8.0/en/user/settings-module-admin.html deleted file mode 100644 index ba7c79e9ca..0000000000 --- a/v2.8.0/en/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Description
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Description
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Description
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Description
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Description
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Description
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Description
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Description
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Description
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Description
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Description
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Description
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Description
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reboot

Remotely reboot a connected or administered node.

Debug Panel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/en/user/settings-radio-user.html b/v2.8.0/en/user/settings-radio-user.html deleted file mode 100644 index e4b5a42e67..0000000000 --- a/v2.8.0/en/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Description
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Description Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Description Default
Region Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Description
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Description
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Description
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Description
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Description
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Description
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/en/user/signal-meter.html b/v2.8.0/en/user/signal-meter.html deleted file mode 100644 index 61bd62cbfc..0000000000 --- a/v2.8.0/en/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/en/user/tak.html b/v2.8.0/en/user/tak.html deleted file mode 100644 index 6fec59ec78..0000000000 --- a/v2.8.0/en/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Description
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Description
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Description
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/en/user/telemetry-and-sensors.html b/v2.8.0/en/user/telemetry-and-sensors.html deleted file mode 100644 index 8aab7d5c99..0000000000 --- a/v2.8.0/en/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Description Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperature Humidity Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Description
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Description
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/en/user/translate.html b/v2.8.0/en/user/translate.html deleted file mode 100644 index 8f0ac5921a..0000000000 --- a/v2.8.0/en/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/en/user/units-and-locale.html b/v2.8.0/en/user/units-and-locale.html deleted file mode 100644 index 4f83e6e5b3..0000000000 --- a/v2.8.0/en/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/en/user/widget.html b/v2.8.0/en/user/widget.html deleted file mode 100644 index f44b5383a6..0000000000 --- a/v2.8.0/en/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 English
Meshtastic Docs ↗

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/es-rES/index.html b/v2.8.0/es-rES/index.html deleted file mode 100644 index 51d55b292d..0000000000 --- a/v2.8.0/es-rES/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descripción
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/es-rES/user/android-auto.html b/v2.8.0/es-rES/user/android-auto.html deleted file mode 100644 index cd2253f877..0000000000 --- a/v2.8.0/es-rES/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Visión general

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Mensajes

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodos

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/es-rES/user/app-functions.html b/v2.8.0/es-rES/user/app-functions.html deleted file mode 100644 index bb995c74bb..0000000000 --- a/v2.8.0/es-rES/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/es-rES/user/connections.html b/v2.8.0/es-rES/user/connections.html deleted file mode 100644 index 717c980036..0000000000 --- a/v2.8.0/es-rES/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Conexiones | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Conexiones

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descripción
🟢 Conectado Active radio link established
🟡 Conectando Handshake in progress
🔴 Desconectado No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/es-rES/user/debug-logs.html b/v2.8.0/es-rES/user/debug-logs.html deleted file mode 100644 index 0111b9e94d..0000000000 --- a/v2.8.0/es-rES/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/es-rES/user/desktop.html b/v2.8.0/es-rES/user/desktop.html deleted file mode 100644 index b9ad5aa4ed..0000000000 --- a/v2.8.0/es-rES/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notas
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mapa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Ajustes ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Actualización de firmware ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/es-rES/user/discovery.html b/v2.8.0/es-rES/user/discovery.html deleted file mode 100644 index 4ea51c9e2e..0000000000 --- a/v2.8.0/es-rES/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descripción
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Métrico What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Información de Vecinos

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/es-rES/user/firmware.html b/v2.8.0/es-rES/user/firmware.html deleted file mode 100644 index e85756b3ca..0000000000 --- a/v2.8.0/es-rES/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canal Descripción
Estable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/es-rES/user/help-and-docs.html b/v2.8.0/es-rES/user/help-and-docs.html deleted file mode 100644 index b370e15dd1..0000000000 --- a/v2.8.0/es-rES/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/es-rES/user/map-and-waypoints.html b/v2.8.0/es-rES/user/map-and-waypoints.html deleted file mode 100644 index 86eb91ade6..0000000000 --- a/v2.8.0/es-rES/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descripción
Nombre Short identifier (max 29 characters)
Descripción Optional longer description
Icon Visual marker emoji on the map
Bloqueado If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Capas del mapa

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/es-rES/user/messages-and-channels.html b/v2.8.0/es-rES/user/messages-and-channels.html deleted file mode 100644 index 077307f19a..0000000000 --- a/v2.8.0/es-rES/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Canales

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Seguridad del canal

Channels support multiple encryption levels:

Icon Security Level Descripción
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Error Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Error Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Tiempo agotado No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Sin interfaz No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
No hay canal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Solicitud errónea Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tipo Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/es-rES/user/mqtt.html b/v2.8.0/es-rES/user/mqtt.html deleted file mode 100644 index 315200e5f8..0000000000 --- a/v2.8.0/es-rES/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Visión general

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuración

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Descripción Por defecto
Server Address MQTT broker hostname mqtt.meshtastic.org
Usuario Broker authentication meshdev
Contraseña Broker authentication large4cats
Root Topic Base topic for messages msh
Cifrado Encrypt MQTT payload Habilitado
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descripción
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descripción Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/es-rES/user/node-metrics.html b/v2.8.0/es-rES/user/node-metrics.html deleted file mode 100644 index 0e24f5e2c8..0000000000 --- a/v2.8.0/es-rES/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Métricas de Dispositivo

Basic operating information reported by each node:

Métrico Descripción
Battery Level Current battery percentage
Tensión Battery voltage reading
Utilización del canal Percentage of airtime consumed
Airtime Transmission time used by this node
Tiempo encendido Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Métricas de Entorno

Environmental sensor data (requires compatible hardware):

Métrico Sensor Examples
Temperatura: BME280, BME680, SHT31
Humedad BME280, BME680, SHT31
Presión Barométrica BME280, BMP280
Resistencia del Gas BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Métrico Unit Descripción
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bien < 1000 Verde
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Rojo
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Métrico Descripción
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bien SNR above the preset’s limit
Aceptable less than 5.5 dB below the limit
Mal 5.5 dB to 7.5 dB below the limit
Ninguna more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Métricas de Energía

Power management telemetry (requires INA sensor or compatible hardware):

Métrico Descripción
Bus Voltage Supply voltage
Intensidad Power draw in milliamps
Consumo Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Registro de Posiciones

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitud
  • Speed (if moving)
  • Timestamp for each position report

Información de Vecinos

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/es-rES/user/nodes.html b/v2.8.0/es-rES/user/nodes.html deleted file mode 100644 index cb8672c75b..0000000000 --- a/v2.8.0/es-rES/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodos | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Nodos

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Rol Descripción
Cliente Standard end-user device
Base cliente Treats favorited-node traffic as Router Late priority; all other traffic as Client
Cliente silenciado Receives but doesn’t retransmit
Cliente oculto Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Rastreador Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
Rastreador TAK TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtro Descripción
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descripción
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Última escucha Last heard
Distancia Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/es-rES/user/onboarding.html b/v2.8.0/es-rES/user/onboarding.html deleted file mode 100644 index 65bfdb3e0c..0000000000 --- a/v2.8.0/es-rES/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Primeros Pasos | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Primeros Pasos

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/es-rES/user/settings-module-admin.html b/v2.8.0/es-rES/user/settings-module-admin.html deleted file mode 100644 index f527a397d6..0000000000 --- a/v2.8.0/es-rES/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Descripción
Habilitado Toggle MQTT bridge
Servidor MQTT broker address
Usuario Authentication username
Contraseña Authentication password
Cifrado Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Descripción
Habilitado Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Descripción
Habilitado Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Descripción
Habilitado Activate store and forward
Pulso de vida Periodically announce this node’s store-and-forward capability
Registros Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Servidor Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Descripción
Habilitado Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Descripción
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Descripción
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Mensajes Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Descripción
Habilitado Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Descripción
Habilitado Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Descripción
Habilitado Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Descripción
LED State Turn the LED on or off
Intensidad LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Descripción
Habilitado Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Descripción
Habilitado Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administración

Administración remota

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Limpiar nodos de la base de datos

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reiniciar

Remotely reboot a connected or administered node.

Panel de depuración

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/es-rES/user/settings-radio-user.html b/v2.8.0/es-rES/user/settings-radio-user.html deleted file mode 100644 index 34308b2852..0000000000 --- a/v2.8.0/es-rES/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Descripción
Nombre largo Your display name (up to 39 characters)
Nombre Corto 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuración

Configuración del dispositivo

Setting Descripción Por defecto
Rol Node behavior (Client, Router, etc.) Cliente
Modo de retransmisión How the node retransmits messages Todos
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Configuración LoRa

Setting Descripción Por defecto
Región Regulatory region for frequency bands Unset (must configure)
Modem predefinido Speed/range tradeoff LongFast
Límite de Saltos Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Desplazamiento de frecuencia Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Velocidad SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Configuración de pantalla

Setting Descripción
Tiempo de espera de la pantalla Time before display sleeps
Unidades de medidas Metric or Imperial
Tipo de OLED Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Configuración de la posición

Setting Descripción
GPS Enabled Enable/disable GPS
Intervalo de actualización GPS How often to acquire GPS fix
Position Broadcast (s) How often to share position
Ubicación inteligente Enable movement-based broadcasting
Posición fija Use a manually set position

Configuración de elecenergía

Setting Descripción
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Configuración de la red

Setting Descripción
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Contraseña de red
Servidor NTP Time synchronization server
Syslog Server Remote logging server

IP address field

Configuración Bluetooth

Setting Descripción
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Pin fijo PIN code for pairing (default: 123456)

Configuración de la seguridad

Setting Descripción
Clave Pública Your node’s public key (read-only)
Contraseña de administrador Key for remote administration
Clave privada Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Modo “ya terminado de configurar” Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/es-rES/user/signal-meter.html b/v2.8.0/es-rES/user/signal-meter.html deleted file mode 100644 index c544d1d5c3..0000000000 --- a/v2.8.0/es-rES/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bien 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Aceptable 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Mal 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Ninguna 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/es-rES/user/tak.html b/v2.8.0/es-rES/user/tak.html deleted file mode 100644 index 5ec534f014..0000000000 --- a/v2.8.0/es-rES/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Visión general

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuración

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Descripción
Habilitado Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Rol Descripción
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Descripción
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/es-rES/user/telemetry-and-sensors.html b/v2.8.0/es-rES/user/telemetry-and-sensors.html deleted file mode 100644 index dbbce2ad21..0000000000 --- a/v2.8.0/es-rES/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Visión general

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Métrico Descripción Typical Range
Battery Level Charge percentage 0–100%
Tensión Battery voltage 3.0–4.2V (LiPo)
Utilización del canal % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Tiempo encendido Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatura: Humedad Presión Notas
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Métrico Notas
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Métrico
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Métricas de Energía

Nodes with INA-series power sensors can report:

Métrico Descripción
Bus Voltage Supply rail voltage
Intensidad Power consumption (mA)
Consumo Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Métrico Unit Descripción
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/es-rES/user/translate.html b/v2.8.0/es-rES/user/translate.html deleted file mode 100644 index 7b7e21eb7d..0000000000 --- a/v2.8.0/es-rES/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notas
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/es-rES/user/units-and-locale.html b/v2.8.0/es-rES/user/units-and-locale.html deleted file mode 100644 index 9181cce1a2..0000000000 --- a/v2.8.0/es-rES/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura:

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitud
Métrico 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Velocidad

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Métrico 12 km/h
Imperial (US) 7 mph

Viento

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Métrico 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Métrico 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiación μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/es-rES/user/widget.html b/v2.8.0/es-rES/user/widget.html deleted file mode 100644 index 7d2e0b4247..0000000000 --- a/v2.8.0/es-rES/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Español
Meshtastic Docs ↗

🌐 Español — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/et-rEE/index.html b/v2.8.0/et-rEE/index.html deleted file mode 100644 index b145fdf835..0000000000 --- a/v2.8.0/et-rEE/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

Meshtastic Androidi rakenduse dokumentatsioon

Kasutaja- ja arendajadokumentatsioon Meshtastic Androidi, arvuti ja iOS-i rakendust KMP (Kotlin Multiplatform) toega.

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Kiir ühendus

Guide Kirjeldus
Getting Started Connect your first radio and send a message
Sõnumid ja kanalid Kanali levitamine, otseteated, reaktsioonid ja krüptimine
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Ühikud ja lokaat How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/et-rEE/user/android-auto.html b/v2.8.0/et-rEE/user/android-auto.html deleted file mode 100644 index 72862ebe8d..0000000000 --- a/v2.8.0/et-rEE/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Android auto

Meshtastic integreerub Android Autoga, nii et saad sõidu ajal oma kärgvõrguga ühenduses püsida ilma käsi roolilt või pilku teelt tõstmata.

⚠️ Märkus: Android Auto tugi on saadaval ainult Google’i-tüüpi Androidi versioonides. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ Mis on täna saadaval: Google Play versioon pakub ainult teavitused autosõnumeid – sissetulevad sõnumid antakse teada peakomplektis ja saate vastata teavitusnuppude kaudu. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

Kui telefon on ühendatud Android Auto peakomplektiga (või arenduses kasutatava töölaua peakomplekti emulaatoriga), esitleb beetaversioon Meshtasticut Android Car App Library abil loodud sõnumsiderakendusena, millel on vahekaartidega avakuva, mis on optimeeritud sõiduohutuks ja hõlpsasti kasutatavaks:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. See kasutab Meshtastici rakenduse olemasolevat ühendust, sõlme ja sõnumi olekut, seega kajastab see seda, millega telefon on juba ühendatud.

⚠️ Märkus: Autorakenduse reaalajas andmete kuvamiseks peab telefon olema ühendatud Meshtastic raadioga. Kui rakendus on lahti ühendatud, kajastab auto ekraan lahti ühendatud olekut.

Sõnumid

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Sõlmed

The Nodes tab shows your mesh node list in a car-friendly layout. Sõlme valimine avab sõlme detailvaate, kus on selle sõlme kohta põhiteave. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.

  • Sõnumid ja kanalid - täielikud sõnumsidefunktsioonid sinu telefonis
  • Nodes — detailed node list and node-detail information
  • Connections — how the app connects to your radio


diff --git a/v2.8.0/et-rEE/user/app-functions.html b/v2.8.0/et-rEE/user/app-functions.html deleted file mode 100644 index 79db5d42e7..0000000000 --- a/v2.8.0/et-rEE/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

App Functions

Rakendusfunktsioonid avaldavad Meshtasticu võimalused Androidi süsteemile ja seadmesisestele TI assistentidele (näiteks Gemini) Androidi rakenduste funktsioonide API kaudu. Kui need on lubatud, saab assistent sinu eest kärgvõrgu töövooge avastada ja käivitada – näiteks sõnumi saata või kärgvõrgu olekut kontrollida – ilma, et peaksid rakendust avama.

⚠️ Märkus: Rakenduse funktsioonid on saadaval ainult Google’i-tüüpi Androidi versioonides.

⚠️ Märkus: See on eraldi rakenduse sisesest Chirpy assistendist. Rakenduse funktsioonid lasevad süsteemi TI assistendil kärgvõrgu kallal tegutseda; Chirpy on vestlusassistent Meshtasticu rakenduses endas.

Enabling App Functions

Rakenduse funktsioone saab juhtida menüüst Seaded → Süsteemi TI (rakenduse sisemine ekraan on tähistatud kui „Süsteemi TI“). The screen has:

  • Pealüliti sildiga “Luba tehisintellektile juurdepääs” alapealkirjaga “Luba süsteemi TI assistentidel (nt Gemini) kärgvõrgu funktsioone avastada ja kasutada”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Saadab kontaktile (otsesõnum) või kanalile tekstisõnumi, kuni 237 baiti.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Saa kanali info Teave kanalite kohta.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privaatsus: Funktsioon Saada sõnum võimaldab assistendil sinu nimel sinu kärgvõrku sõnumeid saata. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Igal funktsioonil on oma lüliti ja peamine lüliti lülitab need kõik korraga välja.



diff --git a/v2.8.0/et-rEE/user/connections.html b/v2.8.0/et-rEE/user/connections.html deleted file mode 100644 index 5248409528..0000000000 --- a/v2.8.0/et-rEE/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Ühendus | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Ühendus

Meshtastic toetab mitut transpordimeetodit telefoni/arvuti ja raadiosõlme vaheliseks suhtluseks.

Sinihammas (BLE)

Sinihamba madal voolutarve on Androidi vaike- ja levinuim ühendusviis.

Seadme sidumine

  1. Veendu, et Meshtastic seade on sisse lülitatud ja sidumisrežiimis.
  2. Ava rakendus ja navigeeri vahekaardile Ühendused.
  3. Puuduta valikut Otsi sinihamba seadmeid – kuvatakse lähedalasuvad Meshtasticu raadiod.
  4. Select your device from the list.
  5. Nõustu Bluetoothi ​​sidumise taotlusega, kui see kuvatakse.

Sinihamba seadmete otsimine, leitud raadio on loendis

Sinihamba, võrgu ja USB-transpordi vahel vahetamiseks (üks on korraga aktiivne) kasutage transpordivalijat – ühenduskaardi all asuvat segmenteeritud nuppude rida:

Transpordi valik

💡 Vihje: Kui sinu seadet ei kuvata, kontrolli, kas sinihamba ​​ja asukoha load on antud ning et raadio poleks juba teise seadmega ühendatud.

Connection Status

Icon Olek Kirjeldus
🟢 Ühendatud Aktiivne raadioside loodud
🟡 Ühendan Kätlemine on pooleli
🔴 Ühendus katkenud No active connection
⚪ Pole seadistatud Seadet pole valitud

Ühenduse loomisel näitab olekuindikaator ühenduse praegust olekut:

Connecting status

Kui seadmeid ei leita, kuvab rakendus tühja oleku koos juhistega:

Ühtegi seadet ei leitud

Sinihamba veaotsing

  • Seadet ei leitud: Lülita sinihammas sisse/välja ja veendu, et asukoha määramine on lubatud.
  • Connection drops: Move closer to the radio; check for interference.
  • Sidumine tagasi lükatud: Unusta seade Androidi sinihamba ​​seadetes ja proovi uuesti.

USB port

USB ühendused pakuvad juhtmega alternatiivi, mis on kasulik lauaarvutite puhul või kui sinihammas pole saadaval.

Seadistamine

  1. Connect your radio via USB cable to your device.
  2. Rakendus küsib USB luba – puuduta Luba.
  3. The connection is established automatically.

⚠️ Märkus: USB ühenduste jaoks on Android-seadmetes vaja OTG tuge.

TCP/IP (võrk)

Mõned Meshtastic raadiod toetavad WiFi/Etherneti ühendust, võimaldades TCP-põhiseid ühendusi kohaliku võrgu kaudu. Ühenda raadio esmalt oma võrku – kasutades raadio enda WiFi-seadeid (püsivara veebiliidese või muu ühenduse kaudu) – ja seejärel loo ühendus rakenduse kaudu.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. Valige ühenduse loomise ekraanil transpordivalikus Võrk.
  3. Choose the radio one of two ways:
    • Võrguseadmete otsimine – lülita see sisse, et automaatselt avastada raadioid, mis reklaamivad end kohalikus võrgus (mDNS / _meshtastic._tcp). Leitud seadmed kuvatakse loendis; ühenduse loomiseks puuduta neist ühte.
    • Lisa seade käsitsi… — Sisesta raadio IP-aadress (või hostinimi) ja port (vaikimisi: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Vihje: Võrgu tuvastamine kasutab mDNS-i, mis töötab ainult siis, kui mõlemad seadmed on samas alamvõrgus. Android 17+ puhul vajab rakendus skanniks kohaliku võrgu luba; kui otsing ei leia midagi, lisa seade käsitsi IP-aadressi järgi.

Millal kasutada TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Asukohad kus sinihambal on häireid

Reconnection Behavior

The app reconnects to the last selected device on startup. Transporti saab ühenduskuvalt igal ajal vahetada.

Ühenduse katkestamiseks puuduta ühenduse loomise ekraanil katkestamise nuppu:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Sinihammas (BLE) — Kable’i teegi kaudu; töötab macOS-is, Linuxis ja Windowsis
  • USB port – peamine juhtmega ühendusmeetod
  • TCP/IP – võrguühendusega raadiote jaoks

Platvormipõhiste üksikasjade ja kiirklahvide kohta vaata [Töölauarakendus] (desktop).



diff --git a/v2.8.0/et-rEE/user/debug-logs.html b/v2.8.0/et-rEE/user/debug-logs.html deleted file mode 100644 index 90bfd46cdc..0000000000 --- a/v2.8.0/et-rEE/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Arendaja logid | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Arendaja logid

Kui midagi töötab valesti, on rakenduse arendajalogid kõige kasulikum asi, mida saad veateatele lisada. Meshtastic saab need sinu eest, rakenduse seest jäädvustada – sa ei vaja enam nende kogumiseks adb-d ega muid töölaua tööriistu.

Ava Arendajapaneel, valides Seaded → Täpsemad → Arendajapaneel.

📎 Esitad probleemi? Eksporti oma logid (vt allpool) ja lisa .txt-fail oma aruandele aadressil github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

Arendajapaneelil on kaks vahekaarti:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Tasemefilter — V / D / I / W / E kiibid lülitavad sisse üksikasjaliku, arendaja-, teabe-, hoiatus- ja vearea. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Praeguste logide faili salvestamiseks puuduta ikooni allalaadimine. Süsteemi failivalijast valite, kuhu see liigub ja failile lisatakse ajatempliga nimi (näiteks meshtastic_logcat_20260701_143312.txt), nii, et korduvad ekspordid ei kirjuta üksteist kunagi üle.

Attach that file to your GitHub issue.

🔒 Privaatsus: Ekspordib automaatselt redigeeri privaatvõtmed, administraatori võtmed ja seansi paroolid enne faili kirjutamist. Kanali PSKid ei redigeerita ja logid võivad sisaldada ka sõlmede nimesid, asukohti ja muid tuvastavaid üksikasju – enne avalikult jagamist vaadake fail üle ja jaga seda privaatselt, kui teil on kahtlusi.

Töölaud

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/et-rEE/user/desktop.html b/v2.8.0/et-rEE/user/desktop.html deleted file mode 100644 index 6f80082860..0000000000 --- a/v2.8.0/et-rEE/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Desktop App

Meshtastic arvuti rakendus jagab oma põhikoodibaasi Androidiga Kotlin Multiplatformi kaudu. Most features work identically on Linux, macOS, and Windows.

Paigaldus

Linux

  • Lae väljalaske lehelt pakett .deb või .AppImage
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Lae väljalaske lehelt .dmg pakett
  • Or build from source

Windows

  • Lae väljalaske lehelt .msi paigaldus fail
  • Or build from source

Connecting Your Radio

USB port (esmane)

The most reliable connection method on Desktop:

  1. Ühenda oma Meshtastic raadio USB kaabliga.
  2. Rakendus peaks jadapordi automaatselt tuvastama.
  3. Kui seda ei tuvastata, vali menüüst Ühenda õige jadapordiga.

TCP/IP

For network-connected radios:

  1. Sisesta raadio IP-aadress ja port (vaikimisi: 4403).
  2. Klõpsa Ühenda.

Sinihammas (BLE)

Sinihamba madal voolutarve on lauaarvutites toetatud Kable teegi kaudu:

  1. Veendu, et süsteemil on sinihamba adapter.
  2. Rakendus otsib automaatselt lähedalasuvaid Meshtastic raadioid.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Sõnumid
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Kaart ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Sätted ✓ ✓ Full parity
Sinihammas (BLE) ✓ ✓ Via Kable on desktop
Püsivara uuendus ✓ ✓ Rakendusesisese USB, BLE ja Wi-Fi (ESP32) värskendused toimivad samamoodi nagu Androidis
Märguanded ✓ ✓ Emakeelsed op.süsteemi märguanded
Widgets ✓ ✗ Android-only
Android auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Kiirklahvid

Otseteed kasutavad macOS-is ⌘ (Command) ja Windowsis ning Linuxis Ctrl. (Super/Windowsi võti pole seotud.)

Otsetee Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Ava sätted
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Salvemenüü – paremklõpsa salveikoonil akna kuvamiseks või sulgemiseks
  • Hiire interaktsioon — hõljumisseisundid ja standardne töölaua navigeerimine

Notification Preferences

Töölauarakendus pakub rakendusesiseste kuvatavate märguannete juhtimist – sõnumite, uute sõlmede ja aku tühjenemise märguanded. Nendele pääsed ligi rakenduses menüüst Seaded → Märguanded.

Built-in Documentation Browser

Töölauarakendusel on sisseehitatud dokumentatsioonibrauser, mis võimaldab kiiret juurdepääsu abisisule ilma rakendusest lahkumata.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Mõned Androidile omased funktsioonid (vidinad, kindlad teavituskanalid) pole saadaval
  • Performance may vary on low-spec hardware running Compose Desktop
  • Lauaarvutid ei toeta veel BLE liitmist (sidumine toimib ilma ühendamiseta)


diff --git a/v2.8.0/et-rEE/user/discovery.html b/v2.8.0/et-rEE/user/discovery.html deleted file mode 100644 index 7d5d6d8a40..0000000000 --- a/v2.8.0/et-rEE/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Avastamine | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Avastamine

Avastamistööriistad aitavad mõista, kuidas kärgvõrk on ühendatud – millised sõlmed üksteist kuulevad, milliseid teid sõnumid läbivad ja kus esinevad kitsaskohad või nõrgad lülid.

The app offers two complementary approaches:

  • Kohalik kärgvõrgu avastaja (skanner) – automaatne režiim, mis perioodiliselt skaneerib ühendatud raadiol läbi erinevate LoRa eelhäälestuste, kuulab igaüht neist ja järjestab, milline eelhäälestus sinu asukohas kõige paremini toimib.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Kohalik kärgvõrgu avastaja (skanner)

Kohalik kärgvõrdu avastaja on spetsiaalne skaneerimisrežiim, mis aitab leida oma asukoha jaoks parima LoRa modemi eelseadistuse ja näha, millised sõlmed on igal eelseadistusel aktiivsed. See kerib ühendatud raadio läbi ühe või mitu valitud eelseadet, kuulab (või “ootab”) igaüht neist määratud aja jooksul pakettide kogumiseks ning seejärel analüüsib ja järjestab tulemused.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Märkus: Discovery muudab skannimise ajal ajutiselt raadio LoRa seadeid ja taastab pärast skannimise lõppu algse konfiguratsiooni. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Kirjeldus
LoRa preset picker Select one or more presets to scan. Otsing peatub kordamööda iga valitud eelseadistuse juures, et kuulata liiklust.
Kuulamisaeg Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Pikemad kuulamisajad koguvad rohkem pakette ja annavad selgema pildi, kuid võtavad kauem aega.
Keep screen awake Valikuline lüliti, mis takistab ekraani pika skannimise ajal magamaminekut.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

Skanni ajal näitab Discovery selle praegust etappi:

Stage What’s happening
Preparing Praeguste sätete salvestamine ja skannimiseks valmistumine.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Kuulamine Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Algsete LoRa seadete taastamine.

Kuulamis loendur näitab praeguse eelseadistuse järelejäänud aega

Reading the Results

Kui skann on lõppenud, kuvab Discovery iga testitud eelseadistuse kohta tulemuste kaardi ja üldise kokkuvõtte.

Eelmääratud tulemuste kaart koos edetabeli ja kogutud näitajatega

Metrics include:

Meetriline What it tells you
RF health Overall quality of the radio environment on that preset.
Kanali kasutus Kui hõivatud olid eetrisagedused kuulamise ajal.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Avastuskaart – skanni käigus leitud sõlmede kaart.
  • Aruande eksport – ekspordi aruanne PDF-failina Androidis või tekstina muudel platvormidel.

💡 Vihje: Androidis saab Discovery genereerida tulemustest seadmesisese TI kokkuvõtte (Gemini Nano). If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Kärgvõrgu majakas

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Marsruudi

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. See on kõige kasulikum tööriist ühenduvusprobleemide tõrkeotsinguks.

Running a Traceroute

  1. Mine valikuni Sõlmed ja puuduta sõlme, mida soovid jälgida.
  2. Sõlme üksikasjade ekraanil puuduta Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Tulemused kuvatakse iga hüppe kohta, koos signaali kvaliteediga igal sammul.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Iga hüpe näitab vahendussõlme, mis sõnumi edastas. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Kehv ühendus – see releesegment on habras
Mitu hüppet (4+) Pikk tee – kaalu sõlme ümberpaigutamist selle lühendamiseks
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Vihje: Käivita traceroute’i mitu korda mõne minuti tagant. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “Marsruuti ei leitud” — Sihtsõlm võib olla võrguühenduseta, leviulatusest väljas või teisel kanalil. Kontrolli, et mõlemad sõlmed jagaksid vähemalt ühte kanalit sama krüpteerimisvõtmega.
  • Traceroute aegus — Tee võib olla liiga pikk (ületab hüppete limiidi) või on vahendussõlm ülekoormatud. Proovi hüppe limiiti suurendada menüüs Seaded → LoRa konfiguratsioon.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Naabruse teave

Naabriinfo moodul võimaldab igal sõlmel levitada nimekirja sõlmedest, mida see otse kuuleb (üksik-hüpe). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Mine menüüsse Seaded → Mooduli konfiguratsioon → Naabriinfo.
  2. Luba moodul.
  3. Määra levintervall (vaikimisi: 900 sekundit / 15 minutit).

Kui see on lubatud, levitab sõlm perioodiliselt oma naabri-tabelit. Teised sõlmed, millel on naabriinfo lubatud, teevad sama.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Märkus: Naabriinfo suurendab eetriaega, kuna iga lubatud sõlm levitab perioodiliselt oma naabrite nimekirja. Paljude sõlmedega tiheda liiklusega kärgvõrgu puhul kaaluge ummikute vältimiseks pikemaid levitamise intervalle (3600 sekundit või rohkem).


Sõlmede loend avastusvahendina

Sõlmede loend ise on võimas avastusvahend, kui kasutada selle filtreerimis- ja sortimisfunktsioone tõhusalt.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sorteeri Hüpete arvu järgi, et näha, millised sõlmed on otse kättesaadavad (0 hüpet) ja millised vahendatavate sõlmedega.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Kasuta Välista MQTT raadio teel (mitte internetisilla kaudu) ligipääsetavatele sõlmedele keskendumiseks.

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Luba naabriinfo funktsioon võtmesõlmedes – eriti ruuterites ja repiiterites, et saada ülevaade magistraalvõrgust.
  • Kontrolli kaarti — sõlmede asukohad [Kaart] (map-and-waypoints) koos signaaliandmetega aitavad sul mõista, miks mõned ühendused on tugevad ja teised nõrgad.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/et-rEE/user/firmware.html b/v2.8.0/et-rEE/user/firmware.html deleted file mode 100644 index b99027b58c..0000000000 --- a/v2.8.0/et-rEE/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Püsivara värskendus | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Püsivara värskendus

Hoia oma Meshtastic raadio ajakohasena uusima püsivaraga, et saada uusi funktsioone, veaparandusi ja turvalisuse täiustusi.

Kontrollin värskendust

  1. Ava ühendatud raadio konfiguratsioon ja puuduta jaotises Täpsemalt valikut Püsivara värskendus. The entry appears only for OTA-capable devices.
  2. Rakendus kontrollib saadaolevaid püsivara versioone.
  3. Saadaval olevad värskendused näitavad versiooninumbrit ja muudatuste logi kokkuvõtet.

Värskendamise meetod

OTA (Over-The-Air) sinihamba abil

Kõige levinum värskendamisviis Androidi kasutajate seas:

  1. Veendu, et raadio on sinihamba ​​kaudu ühendatud.
  2. Mine püsivara värskenduse lehele.
  3. Vali soovitud püsivara versioon.
  4. OTA alustamiseks puuduta nuppu Uuenda.
  5. Oota, kuni värskendus on lõppenud – ära katkesta ühendust värskenduse ajal.

Püsivara kontrollib värskendusi

⚠️ Hoiatus: Püsivara värskenduse katkestamine võib sinu seadme rikkuda. Veendu, et raadiol oleks piisav aku (soovitatav on >50%) ja säilita kogu protsessi vältel sinihamba ​​​​lähedus.

Püsivara hoiatus

Rakendusesisene USB värskendus

Kui raadio on ühendatud USB/jadaühenduse (mitte sinihamba) kaudu, pakub püsivara värskendamise ekraan USB failiedastust. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. See valik kuvatakse ainult USB/jadaühenduse korral – see pole sinihamba ​​kaudu saadaval.

ℹ️ nRF alglaaduri märkus: Mõned seadmed (nt RAK WisBlock RAK4631) vajavad alglaaduri vilkumist tootja jadaühenduse DFU tööriistaga (näiteks adafruit-nrfutil) – ainuüksi .uf2 kopeerimine ei värskenda alglaadurit. The app surfaces a hint when this applies.

Muud püsivarauuenduse valikud

For recovery or when neither OTA nor in-app USB is available:

Versioonikanalid

Kanal Kirjeldus
Stabiilne Soovitatav enamusele kasutajatele; testitud versioonid
Alfa Eelvaateversioonid; võivad sisaldada vigu
Lokaalne Püsivarauuenda ise valitud püsivara failga, allalaetud versiooni asemel

Eelvärskenduse kontrollnimekiri

Enne uuendamist:

  • Aku > 50%
  • Stabiilne sinihamba ühendus
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Eelvärskendus

Pärast püsivara kirjutamist kontrollib rakendus värskendust ja ootab, kuni seade taas võrku lülitub:

Uuenduse kontrollimine ja seadme taasühendumise ootamine

Kui värskendus õnnestub:

  • The radio will reboot automatically
  • Sinihamba ühendus taastatakse
  • Verify your settings are intact
  • Kontrolli uut versiooni püsivara värskenduse ekraanil jaotises Praegu paigaldatud – see kuvatakse ka sõlme üksikasjade lehel ja ühenduste ekraanil

Püsivara värskendus õnnestus

Troubleshooting

Värskendus on ummikus

Kui värskendus näib olevat hangunud:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Proovi uuesti värskendada

Püsivara uuendamise viga

Seade ei käivitu pärast värskendamist

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Kasuta veebi püsivarauuendust taaste/DFU režiimis
  3. Püsivarauuenda teadaolevalt toimiva püsivara versiooniga
  4. Seadmepõhiste taastamissammude kohta vaata Meshtastic Discordist

Compatibility Warnings

The app may show warnings when:

  • Ühendatud raadio püsivara versioon on madalam kui minimaalselt toetatud versioon
  • Rakenduse ja püsivara versioonide mittevastavus
  • Deprecated features need migration

⚠️ Tähtis: Ühilduvuse tagamiseks värskenda Meshtastic rakendust enne püsivara värskendust.

  • Ühendused — ühenduse loomine pärast püsivara värskendamist
  • Püsivara uuendamise juhend — täielik püsivara uuendamise juhend meshtastic.org lehel
  • Toetatud seadmed — ühilduvate raadiote täielik loetelu on leitav aadressilt meshtastic.org
  • KKK — meshtastic.org sageli esitatavad küsimused


diff --git a/v2.8.0/et-rEE/user/help-and-docs.html b/v2.8.0/et-rEE/user/help-and-docs.html deleted file mode 100644 index 97e1f18c33..0000000000 --- a/v2.8.0/et-rEE/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Help & In-App Docs

Sama kasutajadokumentatsioon on rakenduse sees, nii et saate seda lugeda võrguühenduseta ilma Meshtasticust lahkumata. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Selle lugemiseks klõpsa lehel; pildid ja ristlingid toimivad ka.

In-app documentation browser table of contents

Lehtede pealkirja ja märksõnade järgi filtreerimiseks puuduta otsinguikooni ja tippi – tulemused värskendatakse tippimise ajal.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy vastab Meshtasticu kohta käivatele lihtsatele küsimustele, kasutades allikana seda komplekti kuuluvat dokumentatsiooni. Klõpsai dokumendibrauseris nuppu Chirpy, sisesta küsimus ja see vastab vastuse ja linkidega asjakohastele lehtedele.

Chirpy TI assistent vastab küsimusele lehelinkide abil

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. Väike mudel laetakse alla esmakordsel kasutamisel.

⚠️ Märkus: F-Droidi, töölaua ja iOS-i versioonide puhul kasutab Chirpy dokumentatsiooni asemel märksõnaotsingut, mitte generatiivset mudelit. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • [Tõlgi rakendus] (translate) — kuidas need lehed teistesse keeltesse lokaliseeritakse
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/et-rEE/user/map-and-waypoints.html b/v2.8.0/et-rEE/user/map-and-waypoints.html deleted file mode 100644 index 8b53662ddf..0000000000 --- a/v2.8.0/et-rEE/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Iga positsiooni teatav sõlm kuvatakse sõlme kiibi markerina, mis kuvab sõlme lühinime. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. Kui sõlme asukoht reaalajas uueneb, pulseerib selle marker lühidalt. Nearby markers are clustered as you zoom out.

Map Controls

  • Suumi – näpista või +/- nuppude kasutamine
  • Pan — drag to explore
  • Keskpunkt – asukoha tsentreerimiseks valige asukohanupp
  • Sõlme puudutamine – üksikasjade kuvamiseks puuduta sõlmel

Ujuv tööriistariba pakub kiiret juurdepääsu kompassile, kihtide vahetamisele, sõlmefiltritele, värskendamisele ja asukoha jälgimisele. Põhjasuuna muutmiseks puuduta kompassi või praeguse asukoha keskpunkti seadmiseks asukohanuppu.

Map controls overlay

Teekonnapunkt

Waypoints are shared geographic points of interest that all mesh members can see.

Loo teekonnapunkt

  1. Long-press on the map at the desired location.
  2. Sisestage nimi ja valikuline kirjeldus.
  3. Choose an icon/emoji for the waypoint.
  4. Puuduta Saada jagamiseks kärgvõrku.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Kirjeldus
Nimi Lühike identifikaator (max 29 tähemärki)
Kirjeldus Optional longer description
Icon Visual marker emoji on the map
Lukustatud If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geopiire Valikuline sisenemis-/väljumishoiatusala – vt allpool

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Teekonnapunktide geopiirded

Iga teekonnapunkt saab määratleda ka geopiirde – hoiatusala –, et teid või teisi teavitataks, kui sõlm sinna siseneb või sealt lahkub:

  1. Määra geopiirde raadius eelmääratletud kiipide hulgast (või keelamiseks Väljas) või puuduta kohandatud ristkülikukujulise ala joonistamiseks Määra kaardile ala.
  2. Kui piirkond on määratud, lülita sisse Teavita sisenemisel ja/või Teavita väljumisel.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Kuna teekonnapunktid (ja nende geopiirded) edastatakse kogu kärgvõrgule, teavitatakse vaikimisi ainult loojat. Kui keegi teine ​​jagab sinuga geopiirdega teekonnapunkti, pakub selle detailvaade valikut „Teavita mind ületamisest”, et saaksid selle kohta ka sisenemis-/väljumishoiatusi.

Managing Waypoints

  • Puuduta kaardil teekonnapunkti, et vaadata selle üksikasju ja koordinaate
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Kaardikihid

Puuduta kaardil kihtide ikooni, et avada Kaardikihtide haldamine, kus saad importida oma kihte .kml, .kmz või GeoJSON-vormingus – avades faili Meshtasticuga või jagades seda rakendusse teisest rakendusest. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Konfi saatja (asukoht, sagedus, saatja võimsus, antenni võimendus ja kõrgus), vastuvõtja (tundlikkus, kõrgus) ja simulatsioonivalikud (maksimaalne ulatus, kõrge eraldusvõimega maastik, värvipalett) ning seejärel käivita hinnang. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fikseeritud intervall – levitamine regulaarsete intervallidega
  • Nutikas asukoht – levitatakse, kui liikumine ületab lävendi
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privaatsus: asukoha andmed levitatakse kõigile sinu kanali sõlmedele. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Võrguühenduseta paanid (lae kaardialad alla võrguühenduseta kasutamiseks)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Avasta - traceroute’i ja naabri info kärgvõrgu topoloogia mõistmiseks
  • Ühikud ja lokaat — kauguse ja koordinaatide kuvamise ühikud


diff --git a/v2.8.0/et-rEE/user/messages-and-channels.html b/v2.8.0/et-rEE/user/messages-and-channels.html deleted file mode 100644 index 2990f63ddb..0000000000 --- a/v2.8.0/et-rEE/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Sõnumid ja kanalid | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Sõnumid ja kanalid

Meshtastic toetab kahte suhtlusrežiimi: kanalite levitamine ja otsesõnumid.

Kanal

Kanalid on jagatud suhtlusgrupid. Kõik sama kanalivõtmega seadistatud sõlmed saavad sellel kanalil sõnumeid lugeda ja saata.

Vaikekanal

Igal Meshtastic seadmel on vaikimisi PikkKauge kanal. See on krüpteerimata kanal, mida kasutatakse üldiseks võrgusuhtluseks.

Kanali turvalisus

Kanalid toetavad mitut krüpteerimistaset:

Ikoon Security Level Kirjeldus
🔒 PSK (256-bit AES) Täielikult krüpteeritud eel-jagatud tugeva võtmega. Ainult sobiva võtmega sõlmed saavad sõnumeid lugeda.
🔐 PSK (128-bit AES) Krüpteeritud lühema võtmega. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Kasutab teada-tuntud vaikevõtit. Iga Meshtastic seade saab sama eelseadistusega neid sõnumeid lugeda.
⚠️ Insecure + Position Ava kanal, mis levitab ka sinu GPS asukohta. Use with caution in public meshes.

🔒 Turvanõuanne: Privaatse suhtluse jaoks konfi alati unikaalne PSK. Vaikimisi kanal on tahtlikult avatud, et uued kasutajad saaksid kärgvõrku avastada – aga kõige tundliku jaoks peaksite looma eraldi krüptitud kanali.

Lisa kanal

  1. Mine Sätted → Kanalid.
  2. Puuduta Lisa kanal või skanni QR-koodi.
  3. Konfigureeri kanali nime ja krüpteerimisvõtit.
  4. Jaga kanali URL-i/QR-koodi teistega, kes seda vajavad.

Kanali puudutamine kuvab selle üksikasjad ja jagamisvalikud.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Vali kontaktide loendist sõlm või puuduta sõlme loendis.
  3. Tippi oma sõnum ja puuduta nuppu Saada.

Sõnumi olek

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

Olek Tähendus
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Kärgvõrku kohale jõudnud Kanali leviedastuse puhul jõuab sõnum kärgvõrku (leviedastustel puudub saajapõhine kinnitus)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Marsruutimine SF++ ahela kaudu… Being routed/buffered by the Store & Forward Plus Plus chain
Kinnitatud SF++ ahel Confirmed delivered via the SF++ chain
Tõrge Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Tõrge Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK Järgmise-hüppe sõlm keeldus edastamast The relay node may be congested. Wait and retry.
Aegunud No acknowledgment within retry window The recipient may be just out of range. Proovi hüppe limiiti suurendada või paremasse asukohta minna.
Liidest pole No radio interface available to send Kontrolli, kas raadio on ühendatud ja kanal on seadistatud.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Proovi teist kanalit või oota, kuni olukord paraneb.
Kanalit pole Sihtkanalit pole olemas Veendu, et mõlemal sõlmel oleks sama kanali seadistus.
Too Large Sõnum ületab maksimaalset sõnumi mahtu Lühenda oma sõnumit (maksimaalselt ~200 tähemärki).
Vastust pole Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Vigane päring Malformed or invalid message This usually indicates a software bug. Proovi rakendust taaskäivitada.

💡 Vihje: Enamik kohaletoimetamise vigu laheneb iseenesest. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Eelsalvestatud sõnumid kiireks suhtluseks:

  • Juurdepääs läbi sõnumi sisestamise alas oleva kiirvestluse nupu
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Kasulik, kui trükkimine on ebapraktiline (kindad, väike ekraan, kiireloomuline)

Quick chat option

Igal kiirvestluse kirjel on lühike Nimi (nupu silt), Sõnum, mille see lisab, ja Saada kohe lüliti – kui see on lubatud, saadetakse nupu puudutamisel sõnum kohe, selle asemel et see sisestada sisestusväljale redigeerimiseks:

New quick chat dialog with name, message, and instantly-send toggle

Kanalite loendis kuvatakse iga kanal koos selle viimase sõnumi eelvaatega.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Ava vestlus (kanal või otsesõnum).
  2. Puuduta ülemisel ribal otsinguikooni.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Vihje: Otsing toimub täisteksti põhjal ja jääb vestlusse, kust sa selle avasid – see ei otsi teistest kanalitest ega kontaktide hulgast. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Teksti vormindamine

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tüüp Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Ühendus [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Vali tekst ja puuduta stiili, et see murda (puuduta uuesti, et see eemaldada); kui valikut pole, lisab stiil tühja paari, kusjuures kursor on markerite vahel. Linginupp avab URL-i sisestamiseks dialoogiboksi. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Vihje: Vormindus kantakse võrgusilma literaalmärkidena – samad baidid, mida iOS saadab. Kliendid, mis ei toeta Markdowni (vanemad rakendused, tavalised püsivara kliendid), kuvavad toored **/~~ märgid. URL-id, e-posti aadressid ja telefoninumbrid lingitakse endiselt automaatselt olenemata sellest, kas kasutate Markdowni või mitte.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Emotikoni valimiseks puuduta Lisa reaktsioon
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Vihje: Reaktsioonid on kerged – need kasutavad täistekstisõnumitega võrreldes minimaalselt võrgu ribalaiust.

Message Actions

Juurdepääsuks vajuta pikalt mis tahes sõnumit:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Tõlgi – tõlgi vastuvõetud sõnum oma seadme keelde ja vaheta algse ja tõlgitud teksti vahel (ainult Google Play versioon; kasutab seadmesisest tõlget)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Kanalite levitamine (madalaim)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Kasuta kanaleid grupi koordineerimiseks
  • Use direct messages for private person-to-person communication
  • Hoidke sõnumid lühikesed – võrgu ribalaius on piiratud
  • Configure encryption for sensitive communications
  • [Sõlmed] (nodes) — otsesõnumi alustamiseks puuduta sõlme
  • Seaded — Raadio ja kasutaja — kanalite krüpteerimise ja eelseadete konfimine
  • MQTT — silda kanali sõnumid internetti
  • Kanali konf — üksikasjalikud kanali seaded leiate aadressilt meshtastic.org


diff --git a/v2.8.0/et-rEE/user/mqtt.html b/v2.8.0/et-rEE/user/mqtt.html deleted file mode 100644 index 61cf65c4bf..0000000000 --- a/v2.8.0/et-rEE/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

MQTT

MQTT ühendab Meshtastic võrgu internetiga, võimaldades raadiolevi ulatusest kaugemale ulatuvat pikamaasidet.

Overview

MQTT moodul ühendab sinu sõlme MQTT vahendajaga, võimaldades:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Sõlmede asukoha avaldamine avalikul Meshtastic kaardil
  • Custom data pipelines for logging and alerting

How It Works

[Sinu sõlm] → Raadio → [WiFi-ga lüüsisõlm] → MQTT vahendaja → [Kauglüüs] → Raadio → [Kaugsõlm]
-

Internetiühendusega (WiFi või Ethernet) lüüsisõlm jagab võrgusõnumeid MQTT. Sama teemaga liitunud kauglüüsid sisestavad need sõnumid oma kohalikku kärgvõrku.

Sätted

Luba MQTT

  1. Mine menüüsse Seaded → Mooduli konfiguratsioon → MQTT.
  2. Luba MQTT moodul.
  3. Configure the broker connection:

MQTT lüliti

Sätted Kirjeldus Vaikimisi
Server Address MQTT vahendaja hostinimi mqtt.meshtastic.org
Kasutajatunnus Broker authentication meshdev
Parool Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Krüpteeri MQTT liiklus Lubatud
JSON väljund ⚠️ Vananenud — JSON pakettide tugi on püsivarast eemaldatud; seda välja ignoreeritakse Keelatud
TLS Secure connection to broker Keelatud
Map Reporting Report position to public map Keelatud

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

MQTT sätete ekraani ülaosas olev lüliti MQTT puhverserver sellel telefonil näitab, kas see relee töötab praegu, ja võimaldab selle kohe välja lülitada (või taaskäivitada) – ilma seadme MQTT konfiguratsiooni muutmata ja uuesti salvestamata.

Meshtastic vaikemaakler

Kogukond haldab avaliku vahendajat aadressil mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Märkus: Ühendused saidiga mqtt.meshtastic.org kasutavad alati TLS-i (port 8883), isegi kui TLS-i lüliti on välja lülitatud. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privaatsus: Avaliku vahendaja sõnumeid saavad lugeda kõik tellijad. Privaatse suhtluse jaoks kasuta alati kanali krüpteerimist.

Private Broker

Parema privaatsuse ja kontrolli tagamiseks saad hallata oma MQTT maaklerit:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

Kui kaardiaruandlus on lubatud, avaldab sõlm oma asukoha Meshtasticu kogukonnakaardil:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Kirjeldus
Üleslink Sõnumid kärgvõrgust → MQTT maakler
Allalink Sõnumid MQTT maaklerist → kärgvõrk

Konfi iga kanali kohta, millised suunad on aktiivsed, et kontrollida sõnumivoogu ja eetriaega.

Sõnumivormingud

MQTT kasutab protobuf-sõnumivormingut:

Vorming Kirjeldus Use case
Protobuf Binaarne Meshtastic protobuf kodeering Node-to-node mesh bridging

⚠️ Märkus: JSON väljundi tugi eemaldati püsivarast. Säte json_enabled on rakenduses endiselt nähtav, et näha ka pärandühilduvust, kuid see ei mõjuta praegusi püsivara versioone.

Encryption & Privacy

Understanding the layered encryption model:

  1. Kanali krüptimine toimub kärgvõrgus enne MQTT. Kui kanalil on PSK, on ​​MQTT liiklus juba krüptitud – maakler ja kõik tellijad näevad ainult šifriteksti.
  2. MQTT krüptimine (mooduli säte) lisab vahendajale edastamiseks täiendava krüptimiskihi. This protects metadata and routing information.
  3. TLS krüpteerib TCP ühenduse vahendaja endaga, takistades võrgutasandil pealtkuulamist.

🔒 Tähtis: Vaikimisi avalikul kanalil on tuntud võti. MQTT kaudu saadetud vaikekanalil olevad sõnumid on sisuliselt krüpteerimata – igaüks saab neid dekodeerida. Always use a custom PSK for private communications.

Best Practices

  • Kasuta kanali krüptimist (PSK), kanalitel mis on sillatud MQTT-ga
  • Ära luba MQTT internetiühenduseta sõlmedel (see puhverdab ja raiskab mälu)
  • Use a private broker for sensitive deployments
  • MQTT sõnumite allalaadimisel arvesta eetriaja kuluga – iga allalingitud sõnum tarbib sinu kohalikus võrgus raadioeetriaega
  • Kaalu ainult üleslingi lubamist, kui sul on vaja oma kärgvõrku eemalt jälgida ilma sõnumeid tagasi tõmbamata

Troubleshooting

MQTT ei ühendu

  • Kontrolli WiFit – lüüssõlmel peab olema aktiivne internetiühendus (WiFi või Ethernet). MQTT ei tööta LoRa raadiolingi enda kaudu.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Tulemüür — port 1883 (MQTT) või 8883 (MQTT+TLS) peab olema avatud. Some networks block non-standard ports.
  • DNS-i lahendamine – kui kasutad kohandatud maakleri hostinime, veenduge, et sõlm suudab seda lahendada. Try the broker’s IP address directly.

Messages Not Bridging

  • Kontrolli üleslingi/allalingi seadeid — kui lubatud on ainult üleslink, liiguvad sõnumid võrgust MQTT-sse, aga mitte tagasi. Luba vastuvõtval lüüsil allalink.
  • Kanali mittevastavus – mõlemad lüüsid peavad jagama sama kanalit sama PSK-ga. Vastuolu tähendab, et sõnumid on krüpteeritud erinevate võtmetega ja kuvatakse prügina.
  • Teema mittevastavus — veendu, et mõlemad lüüsid kasutaksid sama juurteemat. The default msh works for the public broker.


diff --git a/v2.8.0/et-rEE/user/node-metrics.html b/v2.8.0/et-rEE/user/node-metrics.html deleted file mode 100644 index 14d3837aae..0000000000 --- a/v2.8.0/et-rEE/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Sõlme mõõdikud | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Sõlme mõõdikud

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Seadme mõõdikud

Basic operating information reported by each node:

Meetriline Kirjeldus
Aku tase Praegune aku protsent
Vool Aku pinge näit
Kanali kasutus Percentage of airtime consumed
Airtime Transmission time used by this node
Töötamise aeg Time since last reboot

Seadme mõõdikud kuvatakse individuaalsete kaartidena, millel on trendigraafikud, mis näitavad aku taset, pinget, kanali kasutamist, eetriaega ja tööaega aja jooksul.

💡 Vihje: Puuduta mis tahes mõõdikukaarti, et laiendada see ajalooliste andmepunktidega täisdiagrammiks. Ajatelje suumimiseks näpista sõrmed kokku.

Keskkonnamõõdikud

Environmental sensor data (requires compatible hardware):

Meetriline Sensor Examples
Temperatuur BME280, BME680, SHT31
Niiskus BME280, BME680, SHT31
Baromeetri rõhk BME280, BMP280
Gaasi surve BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

BME680 IAQ (siseõhu kvaliteet) indeks on üksik väärtus vahemikus 0–500+, mis on tuletatud gaasitakistusest ja näidatud värvikoodiga skaalal Suurepärane kuni Ohtlikult saastunud:

Siseõhu kvaliteedi indeks-skaala suurepärasest kuni ohtlikult saastunud

💡 Vihje: Keskkonnamõõdikute jaoks on vaja kaugsõlmega ühendatud andurit. Not all nodes report environmental data. Vaata Telemeetria & Sensorid, et näha toetatud andurite täieliku loendit.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. See on eraldi BME680 siseõhu kvaliteedi näidust, mis on loetletud keskkonnamõõdikute all – siseõhu kvaliteet on ühtne gaasitakistusest tuletatud indeks, samas kui õhukvaliteedi vaade diagrammib aluseks olevaid tahkete osakeste ja CO₂ mõõtmisi.

Meetriline Unit Kirjeldus
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2,5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA indeks EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Süsinikdioksiidi kontsentratsioon
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Värv
Hea < 1000 Roheline
Stuffy < 2000 Merevaik
Kehv < 5000 Oranž
Ebaturvaline < 30000 Punane
Evakueeru ≥ 30000 Tume punane

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Ekspordi CSV analüüsimiseks arvutustabeli vaates.

💡 Vihje: Õhukvaliteedi mõõdikute jaoks on vaja kaugsõlmega ühendatud andurit. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. Vaata Telemeetria & Sensorid toetatud raudvara kohta.

Signaali mõõdikud

Radio signal quality information:

Meetriline Kirjeldus
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hüppete loendur Viimase sõnumi kärgvõrgu hüpete arv

Signal Quality Reference

Signaali kvaliteeti hinnatakse SNR-i põhjal, mis on seotud aktiivse LoRa modemi eelseadistuse demodulatsiooni alumise piiriga, mitte fikseeritud läviväärtuste põhjal – antud SNR tähendab erinevatel eelseadistustel erinevat väärtust (nt −15 dB on LongSlow režiimil hea, kuid ShortFast režiimil mittekasutatav). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Hea SNR above the preset’s limit
Rahuldav less than 5.5 dB below the limit
Halb 5.5 dB to 7.5 dB below the limit
Puudub more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Kasuta Taotle, et küsida ühendatud raadiost uut kohaliku statistika telemeetriaaruannet, Tühjenda, et eemaldada selle sõlme kohaliku statistika logi ja Salvesta, et salvestada nähtavat kohaliku statistika ajalugu CSV-failina.

Võimsusnäitajad

Power management telemetry (requires INA sensor or compatible hardware):

Meetriline Kirjeldus
Bus Voltage Supply voltage
Pinge Power draw in milliamps
Toide Calculated wattage

Marsruudi

Traceroute shows the path a message takes through the mesh:

  1. Sõlme üksikasjade ekraanil puuduta Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Tulemused näitavad iga hüpet koos SNR/RSSI väärtustega.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Iga hüpe esindab vahendussõlme, mis sõnumi edastas.

Asukoha logi

Historical position data for nodes that share their location:

  • GPS coordinates
  • Kõrgus
  • Speed (if moving)
  • Timestamp for each position report

Naabruse teave

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Mine Seadmed.
  2. Puuduta sõlme, mida soovite kontrollida.
  3. Select the metric category from the detail tabs.

Sõlme detailid — kohalik seade

The position tab shows location data for nodes that share GPS:

Asukoha tekstisisene sisu

⚠️ Märkus: Mõõdikud on saadaval ainult siis, kui need on kaugsõlme poolt esitatud. Mõõdikud värskendatakse iga sõlme telemeetria sätetes seadistatud intervallidega.



diff --git a/v2.8.0/et-rEE/user/nodes.html b/v2.8.0/et-rEE/user/nodes.html deleted file mode 100644 index ddabc92aa9..0000000000 --- a/v2.8.0/et-rEE/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Sõlmed | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Sõlmed

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Sõlme nimi — kasutaja pandud pikk nimi
  • Lühinimi — 4-tähemärgiline identifikaator
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Aku — kaugsõlme aku tase (kui telemeetria on lubatud)

Node Status Indicators

Badge Meaning
🟢 Võrgus Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Lemmik Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Sõlmedele saab määrata erinevaid rolle, mis mõjutavad nende kärgvõrgus käitumist:

Roll Kirjeldus
Klient Standard end-user device
Klient-baas Treats favorited-node traffic as Router Late priority; all other traffic as Client
Vaikne klient Receives but doesn’t retransmit
Peidetud klient Like Client Mute, plus hides from node list
Ruuter Prioritizes message forwarding; stays awake to relay
Hiline ruuter Infrastruktuurisõlm, mis levitab signaali ühe korra, kuid alles pärast kõiki teisi režiime (pakub täiendavat leviala)
Router Client ⚠️ Vananenud (eemaldatud püsivara versioonis 2.3.15) — enam mitte valitav; kasuta hoopis ruuterint või kliendina
Repeater ⚠️ Vananenud (eemaldatud püsivara versioonis 2.7.11) — enam mitte valitav; kasuta hoopis ruuterina
Jälgitav Optimized for position reporting at regular intervals
Andur Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
Jälgitav TAK TAK position reporting only
Lost & Found Pidev asukoha majakas taastamiseks

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Ära kasuta ruuter akutoitel töötavatel käsiseadetel.
  • Ruuter hiline – infrastruktuurisõlm, mis levitab pakette alati üks kord uuesti, aga alles pärast seda, kui kõik teised marsruutimisrežiimid on oma käigu teinud. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Jälgimisseade – järelevalveta seade, mille ainus eesmärk on oma GPS asukoha levitamine (nt sõiduk, lemmikloom või vara). Aku säästmiseks magab saadete vahel.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Sarnane võimsusprofiil jälgimisseadmele.
  • TAK / TAK jälgimisseade — Vajalik ainult ATAK/WinTAK süsteemidega koostööl. See TAK Integration for details.

💡 Vihje: Kärgvõrk töötab kõige paremini, kui enamik sõlmi on klient või ruuter. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Lukustatud Suhtlus kasutab PKI-d (avaliku võtme infrastruktuuri) – otsast lõpuni krüpteeritud kontrollitud identiteediga
🔓 Lukust lahti Suhtlus kasutab jagatud kanali PSK – krüpteeritud, kuid isikut pole individuaalselt kontrollitud
⚠️ Ebakõla Avaliku võtme mittevastavus — sõlme võti on viimasest nägemisest saadik muutunud (enne usaldamist uuri)

💡 Vihje: PKI krüpteering (püsivara 2,5+) pakub tugevamat turvalisust kui kanali PSK, kuna igal sõlmel on unikaalne võtmepaar. Kui näed võtme mittevastavuse hoiatust, võib sõlm olla lähtestatud või ohustatud.

Quick Actions

From the node list, you can:

  • Puuduta sõlmel, et vaadata üksikasjade lehte
  • Long-press for quick actions:
    • Mark/remove favorite
    • Teavituste vaigistamine/vaigistuse tühistamine
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Sõlmede filtreerimiseks nime või lühinime järgi tipi otsinguväljal. Filter uueneb reaalajas kirjutamise ajal.

Filter Toggles

Filtreeri Kirjeldus
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Välista MQTT Peida ainult MQTT internetisilla kaudu kuuldavad sõlmed
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Kirjeldus
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hüppe kaugusel Vähim vahendatud hüppeid esimesena
Kanal Rühmitatud kanali loendi alusel
Läbi MQTT Rühmitatud MQTT ver raadiost kuuldud järgi
Favorites Favorited nodes first

Sõlme hüppe kohta

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Sõlmel klõpsamine avab detailvaate koos põhjaliku teabega. See Node Metrics for full details on metrics and telemetry.

Sõlme detailvaade

The detail screen includes device info, position, and action buttons:

Sõlme üksikasjade jaotis

Tekstisisesed olekuindikaatorid näitavad peamisi mõõdikuid lühidalt:

Indicator Screenshot
Signal quality Signal
Aku tase Aku
Hüppete loendur Hüpet
Viimati kuuldud Last heard
Kaugus Distance

Seadme lingid (“Soovin ühte”)

Kui sõlme riistvara tuvastatakse, kuvatakse detailvaates kokkupandav jaotis „Soovin ühte”, mis lingib kohtadele, kust seadet osta või selle kohta lisateavet saada: müüja tooteleht, tootevariandid ja piirkondlike marketplace loendid (nt AliExpress, Amazon ja toetatud jaemüüjad), mis on filtreeritud sinu riigi järgi. Iga link avaneb ümbersuunamisteenuse msh.to kaudu. Seadmed, millel pole vastavaid linke, seda jaotist ei kuva.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/et-rEE/user/onboarding.html b/v2.8.0/et-rEE/user/onboarding.html deleted file mode 100644 index b9cfb6ec6f..0000000000 --- a/v2.8.0/et-rEE/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Getting Started

Tere tulemast Meshtasticusse! See juhend juhendab sind Meshtastic Androidi rakenduse esmasel seadistamisel.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Tervituskuva

Tervituskuval tutvustatakse Meshtasticut ja selle põhifunktsioone:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Puuduta Alusta seadistusvoo jätkamiseks.

Tervituskuva

Permissions

Rakendus küsib seadistamise ajal mitmeid lube. Each one serves a specific purpose, and some are required for core functionality.

Sinihamba load

Sinihammas on peamine ühendusmeetod sinu telefoni ja Meshtastic raadio vahel:

  • Bluetoothi ​​skann – avasta lähedalasuvad Meshtastic raadiod
  • Sinihamba ühendus – loo ja halda seotud seadmete ühendusi

Grant both permissions when prompted. Ilma sinihambata peate kasutama USB- või TCP-ühendusi.

Location Permission

⚠️ Miks on sinihamba ​​jaoks vaja asukohateavet? Android vajab lähedalasuvate sinihamba madala energia seadmete avastamiseks asukohale juurdepääsu luba. See on Androidi süsteeminõue, mitte Meshtastic põhine valik.

Meshtastic kasutab sinu asukohta ka järgmiseks:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • Rakenduse kasutamise ajal – asukohta uuendatakse kui rakendus on avatud
  • Alati – lubab taustal asukoha värskendusi, et kärgvõrgu oleks alati sisse lülitatud

Kui keelatud, siis sinihamba otsing ei toimi ja sõlm ei edasta asukohta.

Märguannete load

Märguanded teavitavad teid järgmisest:

  • Sissetulevad sõnumid kanalitelt ja otsesõnumid
  • New nodes joining the mesh
  • Kaugsõlmel on aku tühjenenud

💡 Vihje: Teavituste eelistusi saab hiljem Androidi süsteemiseadetes täpsustada – rakendus loob iga kategooria kohta eraldi teavituskanali (lisaks mõned sisemised, näiteks taustateenus), nii et saad need eraldi lubada või vaigistada.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • Need on kõrge prioriteediga märguanded, mis võivad režiimist „Ära sega” läbi murda
  • Useful for emergency mesh alerts or urgent messages
  • Võid selle sammu vahele jätta, kui te kõrge prioriteediga märguandeid ei vaja
  • Configure or revoke later in Android notification settings

Peale seadistamist

Kui load on antud, läheb rakendus üle põhiliidesele. Esimene samm peaks olema ühenduse loomine Meshtastic raadioga – üksikasjalike juhiste saamiseks vaata [Ühendused] (connections).

💡 Vihje: Kui jätsid seadistamise ajal mõne õiguse andmata, saad selle hiljem anda jaotises Androidi seaded → Rakendused → Meshtastic → Load. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Kui raadioga on ühendus loodud, uuri:

Kas oled Meshtasticus algaja? Meshtastic.org lehel olev alustusjuhend käsitleb riistvara valimist, raadio esialgset seadistamist ja esimest võrgu seadistamist.



diff --git a/v2.8.0/et-rEE/user/settings-module-admin.html b/v2.8.0/et-rEE/user/settings-module-admin.html deleted file mode 100644 index c753563170..0000000000 --- a/v2.8.0/et-rEE/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Sätted - moodulid & admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Sätted - moodulid & admin

Konfi valikulisi funktsioonimooduleid ja teosta seadme haldamist. Moodulid laiendavad Meshtasticut spetsiaalsete võimalustega – igaüht saab eraldi lubada või keelata.

💡 Vihje: Pead lubama ainult need moodulid, mida sa tegelikult kasutad. Kasutamata moodulite keelamine vähendab eetriaega, säästab akut ja lihtsustab seadistamist.

Mooduli seaded kasutavad kaardipõhist paigutust koos lülitite, rippmenüüde, tekstiväljade ja liuguritega:

Toggle switch

Dropdown selector

Text field

Settings card layout

Mooduli konf

MQTT moodul

Sildab võrgusõnumeid MQTT vahendajasse ja sealt internetiühenduse loomiseks. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Sätted Kirjeldus
Lubatud Lükka MQTT sild sisse
Server MQTT vahendaja aadress
Kasutajatunnus Authentication username
Parool Authentication password
Encryption Krüpteeri MQTT kasutus
JSON Output ⚠️ Vananenud — JSON tugi püsivarast eemaldatud; välja ignoreeritakse
TLS Use secure connection
Root Topic Baas MQTT teema teekond
Map Report Publish position for public map

Vaata MQTT üksikasjalikumat kasutusjuhendit, mis sisaldab teavet krüpteerimise, privaatsuse ja vahendaja seadistamise kohta,.

Jadapordi moodul

Võimaldab jadapordi sidet väliste seadmete integreerimiseks (GPS-moodulid, andurid või kohandatud riistvara). Kui lubatud, saab sõlme jadaühendus saata ja vastu võtta protobuf- või tekstiandmeid, võimaldades välistel mikrokontrolleritel või arvutitel võrguga suhelda.

Sätted Kirjeldus
Lubatud Aktiveeri jadapordi ühendus
Echo Kaja sai jadaandmed tagasi
Mode Text, Protobuf, or NMEA output
RX/TX kontaktid GPIO sisend jagaühenduseks
Baud Rate Jadaühenduse kiirus

Välise teavitusmoodul

Juhib raadio riistvara summeri-, LED- või vibratsioonihoiatusi. Kasulik seadmetele, mis peavad sõnumi saabumisest füüsiliselt märku andma – eriti kasulik järelevalveta või välistingimustes paigaldamise korral.

Sätted Kirjeldus
Lubatud Aktiveeri märguanded
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Hoiatuskell Teavita hoiatuskella märgist
Väljund (GPIO) Sisend teavitusväljundi jaoks
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Salvesta & edasta moodul

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Sätted Kirjeldus
Lubatud Aktiveeri salvesta ja saada
Südamelöögid Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Vihje: Salvesta ja edasta töötab kõige paremini rohke mäluga sõlmedes (ESP32 koos PSRAM-iga). Router nodes are ideal candidates since they’re typically always-on.

Kaugustesti moodul

Automatiseeritud vahemiku testimise tööriist sõlmede vahelise ühenduse kvaliteedi hindamiseks. Kui lubatud, edastab sõlm perioodiliselt testsõnumeid kasvavate loenduritega. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Sätted Kirjeldus
Lubatud Aktiveeri levi test
Sender Interval (s) Time between test transmissions
Salvesta CSV Log received test data to SD card

Telemeetria moodul

Controls what telemetry data your node shares with the mesh. Telemeetria sisaldab seadme tervist (aku, tööaeg) ja keskkonnaandurite andmeid (temperatuur, niiskus, rõhk).

Sätted Kirjeldus
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

Vaata Telemeetria & Sensorid toetatud andurite ja sätete soovituste kohta.

Eelsalvestatud sõnumi moodul

Seadme füüsiliste nuppude kaudu ligipääsetavad eelseadistatud sõnumid (pöördnuppude, klaviatuuride või sarnase sisendriistvaraga raadiote puhul). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Sätted Kirjeldus
Lubatud ⚠️ Vananenud — praegune püsivara võib seda lülitit ignoreerida
Sõnumid Newline-separated list of messages
Saada kelluke Esita saatmisel kellukese heli
Rotary Encoder Enable rotary encoder input
Üles/alla/vajuta sisend GPIO sisendi kontaktide määramine

Audio moodul

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Sätted Kirjeldus
Lubatud Aktiveeri audio moodul
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO sisend I2S WS jaoks
I2S Data In GPIO sisend I2S DIN jaoks
I2S Data Out GPIO sisend I2S DOUT jaoks

⚠️ Märkus: Heli jaoks on vaja spetsiaalset riistvara (I2S mikrofon ja kõlar). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Kaugriistvara moodul

GPIO juhtimine kärgvõrgu kaudu. Võimaldab kaugsõlmel lugeda või kirjutada GPIO sisendkontakte teisel sõlmel – kasulik releede aktiveerimiseks, lülitite lugemiseks või välise riistvara kaugjuhtimiseks.

Sätted Kirjeldus
Lubatud Aktiveeri kaugjuurdepääs GPIO-le
Luba määratlemata sisendid Luba juurdepääs mis tahes GPIO sisendile (turvarisk)
Available Pins Kuni 4 GPIO sisendit, mida see sõlm kauglugemiseks/-kirjutamiseks avab

⚠️ Hoiatus: Funktsiooni „Luba määratlemata sisendkontaktid” lubamine annab kaugsõlmedele juurdepääsu kõigile GPIO sisendile, mis võib häirida raadio enda riistvara. Luba ainult spetsiaalsetel GPIO sõlmedel.

Naabriinfo moodul

Levitab teavet otse kuuldud naabrite kohta, võimaldades kärgvõrgu topoloogia kaardistamist. Iga lubatud sõlm jagab perioodiliselt nimekirja teistest sõlmedest, mida ta kuuleb ja nende signaali kvaliteedist.

Sätted Kirjeldus
Lubatud Aktiveeri naabrite leviring
Värskendusintervall(id) Kui tihti naabrite nimekirja levitada
Transmit Over LoRa Edasta naabriinfot ka LoRa kaudu, mitte ainult MQTT/telefoni kaudu. Vaikimisi võtit ja nime kasutavat kanalit pole saadaval

Vaata Avasta kuidas kasutada naabri-andmeid kärgvõrgu topoloogia uurimiseks.

Ambientvalguse moodul

Juhib toetatud riistvaral NeoPixeli või muid adresseeritavaid RGB LEDe. Can be used for visual status indicators, notification lights, or decorative effects.

Sätted Kirjeldus
LED olek Turn the LED on or off
Pinge LED current limit (0–31)
Red / Green / Blue Individuaalsete värvikanalite väärtused (0–255)

Tuvastusanduri moodul

Turns your node into a motion or door sensor alert system. Kui GPIO sisend tuvastab oleku muutuse (liikumine tuvastatud, uks avatud), levitab sõlm kärgvõrgu kaudu hoiatusteate.

Sätted Kirjeldus
Lubatud Aktiveeri tuvastusandur
Ekraani sisend GPIO sisend on anduriga ühendatud
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimaalne leviring(id) Minimaalne aeg hoiatusteadete levitamisel
Riiklik ringhääling(ud) Perioodilise oleku levitamise intervall
Saada hoiatuskell Lisa märguannetesse hoiatuskella sümbol
Friendly Name Selle anduri kohandatud nimi

Paxloenduri moodul

Inimeste loendur WiFi ja BLE päringute abil. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Sätted Kirjeldus
Lubatud Aktiveeri inimeste loendamine
Värskendusintervall(id) How often to report counts

💡 Vihje: Paxloendur on kasulik jalakäijate liikluse hindamiseks matkaradade alguses, ürituste toimumiskohtades või muudes kohtades. Counts are approximate — one person may carry multiple devices.

TAK moodul

Meeskonna teadlikkuse komplekti integratsioon ATAKi ja WinTAKi koostalitlusvõime tagamiseks. Vaata TAK Integration täpsema seadistamise ja kasutamise kohta.

Haldus

Kaughaldus

Administraatori võtit jagavate sõlmede kaugkonfigureerimine:

  1. Select the target node in the node list.
  2. Mine selle sõlme Seadetesse.
  3. Muuda seadistust.
  4. Puuduta Salvesta – muudatused saadetakse kärgvõrgu kaudu.

⚠️ Nõutud: Administraatori võtit, mis on seadistatud nii sinu kui ka sihtsõlmes.

Tühjenda sõlmede andmebaas

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. Seda ei saa tagasi võtta.

Taaskäivita

Ühendatud või hallatava sõlme kaugkäivitamine.

Arendaja paneel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Kaug-admin tõrkeotsing

  • “Sihtsõlmelt ei ole vastust” — sihtsõlm võib olla leviulatusest väljas, võrguühenduseta või sellel võib olla sobimatu administraatori võti. Veendu, et administraatori võti sobiks mõlemas sõlmele.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Ei näe kaugseadeid — veendu, et sõlmel oleks sihtsõlme administraatori võti ja et administraatori kanal oleks turbekonfiguratsioonis lubatud. Administraatori kanal seadistatakse automaatselt, kui administraatori võti on määratud.


diff --git a/v2.8.0/et-rEE/user/settings-radio-user.html b/v2.8.0/et-rEE/user/settings-radio-user.html deleted file mode 100644 index 47c85028e1..0000000000 --- a/v2.8.0/et-rEE/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Kirjeldus
Täis nimi Your display name (up to 39 characters)
Lühi nimi 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

Pärast sätete muutmist puuduta nuppu Salvesta, et konfiguratsioon raadiosse salvestada. The device may reboot to apply changes.

Sätted

Seadme sätted

Setting Kirjeldus Vaikimisi
Roll Node behavior (Client, Router, etc.) Klient
Kordusülekannete režiim How the node retransmits messages Kõik
Sõlme(de) teabe levitamine Sõlme teabe levitamise intervall 10800
Topeltpuudutusnupp Toiming topeltpuudutuse nupu korral Keelatud

LoRa sätted

Setting Kirjeldus Vaikimisi
Regioon Regulatory region for frequency bands Unset (must configure)
Modemi vaikesäte Speed/range tradeoff LongFast
Hüppete limiit Maks uuesti saadetud hüpet 3
TX võimsus Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Kanali ribalaius Bandwidth setting Default for preset

⚠️ Tähtis: Enne edastamist peate oma piirkonna määrama. Operating without the correct region may violate local radio regulations. Lisateabe saamiseks vaadake regiooni seadistamise juhendit aadressil meshtastic.org.

Modem Presets

💡 Vihje: SNR-i piirväärtused on meelega negatiivsed. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Kiirus SNR Limit Best For
Short Turbo ~1 km 21,9 kbps −7,5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10,9 kbps −7,5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Äärelinna lühimaa; mõõdukas hoonestustihedus
Medium Fast ~5 km 5.5 kbps −12,5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1,1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4,4 kbps −12,5 dB Sarnane ulatus kui Pikk Kauge, aga 500 kHz ribalaiusega; kiirem läbilaskevõime
Long Fast ~10 km 1,1 kbps −17,5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0,34 kbps −17,5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5,5 kbps −12,5 dB EL 866 MHz SRD sagedusala (125 kHz ribalaius); võrreldav Medium Fast
Lite Slow ~10 km 1,1 kbps −15 dB EL 866 MHz SRD sagedusala (125 kHz ribalaius); võrreldav Long Fast
Narrow Fast ~5 km 2,7 kbps −10 dB EL 868 MHz sagedusala (62,5 kHz sagedusriba); väldib häireid teiste seadmetega
Narrow Slow ~10 km 1,1 kbps −12,5 dB EL 868 MHz sagedusala (62,5 kHz ribalaius); võrreldav Long Fast
Long Slow ~30 km 0,18 kbps −20 dB ⚠️ Vananenud — endiselt valitav, kuid võidakse tulevases püsivara versioonis eemaldada
Very Long Slow ~40+ km 0,09 kbps −20 dB ⚠️ Vananenud — endiselt valitav, kuid võidakse tulevases püsivara versioonis eemaldada

ℹ️ Märkus: Selles tabelis kasutatakse üldlevinud lühinimesid. Rakenduse eelseadistatud rippmenüüs on need järgmised: Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, jne.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). See tähendab pikemat ulatust, aga vähem baite sekundis.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Linnavõrk (palju sõlmi, lühikesed vahemaad): Kasutage valikut Long Fast (vaikimisi) või Short Fast. Suurem kiirus tähendab väiksemat eetriaega, kui kanalit jagavad paljud sõlmed.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fikseeritud taristuühendused: Kasutage Short Turbo või Long Turbo spetsiaalsete punkt-punkti ühenduste jaoks, millel on head antennid ja otsenähtavus.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Tähtis: Kõik samal kanalil olevad sõlmed peavad kasutama sama modemi eelseadistust. Erinevate eelseadetega sõlmed ei saa suhelda isegi siis, kui neil on sama sagedus ja krüpteerimisvõti.

💡 Vihje: ulatuse hinnangud eeldavad tasast maastikku ja mõõdukaid antenne. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Ekraani sätted

Setting Kirjeldus
Screen Timeout Time before display sleeps
Display Units Meetriline või Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Vananenud — asendatud kompassi suunaga; nähtav endiselt vanemas püsivaras

Asukoha sätted

Setting Kirjeldus
GPS Enabled Enable/disable GPS
GPS värskendamise intervall How often to acquire GPS fix
Asukoha(de) levitamine How often to share position
Nutikas asukoht Liikumispõhise levitamise lubamine
Määratud asukoht Use a manually set position

Toite sätted

Setting Kirjeldus
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Aku pinge kalibreerimistegur
Oota sinihammast(id) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Ülisügava une ajalõpp

Võrgu sätted

Setting Kirjeldus
WiFi lubatud Luba WiFi (ESP32 seade)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP server Time synchronization server
Syslog Server Kauglogimise server

IP address field

Sinihamba sätted

Setting Kirjeldus
Sinihammas lubatud Enable/disable BLE radio
Sidumisreziim Määratud PIN kood, juhuslik PIN kood või PIN koodi pole
Fikseeritud PIN Sidumise PIN (vaikimisi: 123456)

Turva sätted

Setting Kirjeldus
Avalik võti Sinu sõlme avalik võti (kirjutuskaitstud)
Administraatori võti Kaughalduse võti
Salajane võti Sinu sõlme privaatvõti (käsitsege turvaliselt)
Admin kanal lubatud ⚠️ Eemaldatud — nüüd seadistatakse automaatselt, kui administraatori võti on määratud
Arendaja logi Edasta reaalajas arendajalogi jadapordi/sinihamba ​​kaudu
Jadaühendus lubatud Luba jadapordi konsoolile juurdepääs (teisaldatud seadme konfist)
Hallatud režiim Piira mitte-administraatori kanali muudatusi
Taastevõtmed Salvesta sõlme võtmete krüpteeritud varukoopia sellesse seadmesse (ainult Android)
Taasta võtmed Kirjuta varundatud võtmed tagasi sõlme (saadaval siis, kui varukoopia on olemas)
Kustuta taastevõtmed Eemalda salvestatud võtme varukoopia sellest seadmest
Protection Level Pakettide autentsus – kuidas käsitletakse allkirjastamata või edastatud pakette: range, tasakaalustatud või ühilduv (nõuab toetavat püsivara; range režiimi puhul küsitakse kinnitust)

Parooli väli

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/et-rEE/user/signal-meter.html b/v2.8.0/et-rEE/user/signal-meter.html deleted file mode 100644 index c9ed6b13cc..0000000000 --- a/v2.8.0/et-rEE/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - Kuidas Meshtastic signaalimõõtur töötab | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Kuidas Meshtastic signaalimõõtur töötab

Meshtastici signaalimõõtur – rakenduses tuttavad tulbad või olekuvärv – arvutatakse väga erinevalt traditsioonilise mobiiltelefoni või WiFi-ruuteri „tulpadest”.

Most consumer devices simply measure how “loud” a signal is. Kuna Meshtastic kasutab LoRa (Long Range) tehnoloogiat, mõõdab selle signaalimõõtja signaali selgust võrreldes sinu võrgu konkreetsete sätetega.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Vihje: Siin on analoogia – kujuta ette, et sa üritad kuulda sõpra sinuga rääkimas.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

Kui su sõber karjub sulle kõrvulukustava rokkkontserdi ajal, on signaal uskumatult vali (kõrge RSSI), aga sa ei saa temast ikkagi aru, sest taustamüra on valjem (halb signaali-müra suhe). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. Seepärast näed Meshtasticus sageli negatiivseid SNR numbreid (nt -10 dB, mis tähendab, et signaal on 10 detsibelli nõrgem kui taustamüra).

Sõltuvalt sellest, millist Meshtastic eelhäälestust kasutad (nt PikkKauge vs. LühikeKiire), on raadiol kindel SNR-i piirang – absoluutne maksimaalne müra hulk, mida see talub enne, kui sõnum staatilise müra tõttu täielikult kaob.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Kuna hinnang on eelseadistatud piirangu suhtes suhteline, võib sama signaali-müra suhe erinevatel eelseadistustel olla erinev – „-15 dB” on „LongSlow” puhul kasutatav, kuid „ShortFast” puhul mittekasutatav. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Hea 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Rahuldav 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Halb 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Puudub 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Märkus: Fikseeritud SNR lävesid, mida võisid mujal näha (-7 dB / -15 dB), kasutatakse nüüd ainult üksikute hüpete rõhutamiseks traceroute’i tulemustes – mitte siin kirjeldatud sõlmepõhise signaalimõõtja jaoks.


4. What This Means for You

Kuna Meshtasticu mõõdik toimib “selguse mõõturina”, käitub see erinevalt sellest, mida enamik inimesi ootab:

💡 Vihje: Ära paanitse madala RSSI pärast. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. Aga kui sinu seadme signaali-müra suhe on +2 dB, näitab Meshtastic ikkagi tugevat signaali! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — iga vahendussõlme signaali kvaliteet hüppe kohta
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/et-rEE/user/tak.html b/v2.8.0/et-rEE/user/tak.html deleted file mode 100644 index 30f588cbb7..0000000000 --- a/v2.8.0/et-rEE/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

TAK Integration

Meshtastic lõimub Team Awareness Kit (TAK) ökosüsteemiga, võimaldades Meshtastic kärgvõrgu seadmete ja TAK-rakenduste (nt ATAK ja WinTAK) koostalitlusvõimet.

Overview

TAK moodul võimaldab Meshtastic sõlmedel:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Kuvatakse meeskonnaliikmetena TAK kaardil
  • Receive TAK PLI (Position Location Information) messages

Seadistamine

Prerequisites

  • ATAK (Android Team Awareness Kit) või WinTAK on paigaldatud
  • Meshtastic ATAK plugin on paigaldatud
  • TAK moodul on sinu Meshtastic raadios lubatud

Sätted

  1. Mine menüüsse Seaded → Mooduli konfiguratsioon → TAK.
  2. Luba TAK moodul.
  3. TAK meeskonna/grupi seadistamine:

Mooduli lüliti

Sätted Kirjeldus
Lubatud TAK-i interopi aktiveerimine
Mode TAK-compatible output mode

ATAK plugina sätted

  1. Paigalda pluginate hoidlast Meshtastic ATAK plugin.
  2. Ava ATAK ja luba Meshtastic plugin.
  3. Plugin sildab sõnumeid ATAKi ja kärgvõrgu vahel.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

TAKiga seotud rollidega seadistatud sõlmed käituvad tavalistest klientidest erinevalt:

Roll Kirjeldus
TAK Täielik TAK koostalitlusvõime – saadab ja võtab vastu CoT andmeid, vestlussõnumeid ja PLI-uuendusi. Functions as a standard client plus TAK bridge.
TAK jälgimisseade Ainult asukohapõhine TAK väljund – levitab PLI automaatselt regulaarsete intervallidega ilma kasutaja sekkumiseta. Optimeeritud järelevalveta asukohamajakate (sõidukid, seadmed, teekonnapunktid) jaoks. Does not relay chat messages.

💡 Vihje: Kasuta TAK jälgimisseadet seadmete puhul, mis peavad edastama ainult asukohta (nt sõidukisse paigaldatud raadio). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic teisendab oma sisemised protobuf-sõnumid TAK-süsteemidega ühendamisel CoT-vormingusse, seega pole käsitsi vormingu teisendamist vaja.

TAK Identity

TAK rollide kasutamisel levitab sinu sõlm identiteediteavet, mis kuvatakse TAK kaartidel:

Sätted Kirjeldus
Meeskonna värv Sinu meeskonna värv TAK kaardil (nt sinine, punane, tsüaansinine, roheline)
Liikme roll Sinu operatiivne roll (meeskonnaliige, meeskonnajuht, peakorter, meedik, RTO jne)

Need sätted kuvatakse menüüs Seaded → Mooduli konfiguratsioon → TAK, kui TAK moodul on lubatud. Sinu TAK kutsung ei ole eraldi säte – see tuletatakse automaatselt sinu Meshtastic sõlme nimest.

💡 Vihje: Meeskonna/rolli värvid on TAK standardsed kuuluvusvärvid. Koordineeri oma TAK meeskonnaga järjepidevat meeskonnatöö jagamist.

Sõnumivorming (V1 / V2)

Meshtastic toetab kahte TAK sõnumivormingut, mis valitakse ühendatud raadio püsivara põhjal automaatselt – käsitsi konfigureerimist pole vaja:

Vorming Compatibility Features
V1 (Legacy) Püsivara 2.7.x ja vanem Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (praegune) Püsivara 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

Sõlm edastab vanematelt sõlmedelt pärit V1 pakette isegi V2 kasutamise ajal, seega sega-püsivaraga võrgud töötavad edasi.

Kasutamine koos ATAKiga

Kui on seadistatud:

  • Meshtastic sõlmed ilmuvad ATAK kaardil markeritena koos kutsungi nimega
  • Chat messages can bridge between mesh and TAK networks
  • Asukohavärskendused liiguvad Meshtasticu ja TAKi vahel kahesuunaliselt
  • TAK jälgimisseadme sõlmed levitavad PLId automaatselt – nende asukohad kuvatakse ATAK kaartidel ilma ATAK poolse konfita

⚠️ Märkus: TAK-i integratsioon nõuab spetsiifilisi sõlmerolle ja mooduli seadistust. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Sõlme ei kuvata ATAK kaardile TAK moodul on keelatud või vale roll Veendu, et TAK moodul on lubatud ja sõlme roll on TAK või TAK jälgimisseade
Asukohavärskendused on aegunud GPS fix lost or interval too long Kontrolli GPSi olekut; vähenda asukoha konfis asukoha levitamise intervalli
ATAK plugin kuvab teadet „ühendus katkenud” BLE connection lost or plugin crashed Ühenda Meshtastic rakenduses sinihammas uuesti ja seejärel taaskäivita ATAK plugin
Shapes, markers, or routes not bridging Saatja sõlm kasutab pärandversiooni V1 (püsivara 2.7.x või vanem) Värskenda saatva sõlme püsivara versioonile 2.8.0+ sõnumivormingu V2 jaoks
CoT data not flowing Kanali mittevastavus Kõik TAK-sõlmed peavad olema samal kanalil ja sama krüpteeringuga

Security Considerations

  • TAK andmed jagavad sinu asukohta ja kutsungit
  • TAKi kasutamisel tundlikes keskkondades veendu, et kanali krüpteerimine on seadistatud
  • TAK moodul arvestab sama kanali krüptimist nagu teised Meshtasticu sõnumid


diff --git a/v2.8.0/et-rEE/user/telemetry-and-sensors.html b/v2.8.0/et-rEE/user/telemetry-and-sensors.html deleted file mode 100644 index fd2b7e7665..0000000000 --- a/v2.8.0/et-rEE/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemeetria & Sensorid | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Telemetria & sensorid

Meshtastic sõlmed saavad koguda ja jagada andurite andmeid kärgvõrgu kaudu.

Ülevaade

Telemeetria võimaldab anduritega varustatud sõlmedel levitada keskkonna-, energiatarbimise ja seadme terviseteavet. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

Kõik Meshtastic sõlmed edastavad seadme põhitelemeetriat:

Meetriline Kirjeldus Tüüpiline ulatus
Aku tase Charge percentage 0–100%
Vool Aku pinge 3,0–4,2V (LiPo)
Kanali kasutus % of airtime used locally 0–100%
Eetri kasutus TX % of airtime used by this node 0–100%
Töötamise aeg Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Andur Temperatuur Niiskus Õhurõhk Sõnumid
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Andur Meetriline Sõnumid
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1,0, PM2,5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Valgus & UV

Andur Meetriline
OPT3001 Ambient valgus (lux)
VEML7700 Ambient valgus (lux)
LTR390 UV indeks

Võimsusnäitajad

Nodes with INA-series power sensors can report:

Meetriline Kirjeldus
Bus Voltage Supply rail voltage
Pinge Power consumption (mA)
Toide Calculated power (mW)

Kasulik päikesepaneelide laadimise või aku seisundi jälgimiseks kaugsõlmedes.

Configuring Telemetry

  1. Mine menüüsse Seaded → Mooduli konfiguratsioon → Telemeetria.
  2. Set reporting intervals:
    • Seadme mõõdikute intervall – kui tihti seadme mõõdikuid levitada
    • Keskkonnamõõdikute intervall – kui tihti anduriandmeid levitada
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Aku säilitus 7200 7200

⚠️ Märkus: Lühemad intervallid suurendavad saate kasutusaega ja aku tühjenemist.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Meetriline Unit Kirjeldus
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Süsinikdioksiidi kontsentratsioon

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Õhukvaliteedi andmeid saab vaadata infokaartidena sõlme detailvaates, aja jooksul graafikule lisada ja CSV-vormingusse salvestada.

Viewing Telemetry

  1. Mine Seadmed ja vali seade.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • Keskkonnaandmeid ei kuvata? Kaugühenduse jaoks on vaja ühendada füüsiline andur (nt BME280 I2C-l). Seadme telemeetria (aku, tööaeg) on ​​alati saadaval, kuid keskkonnamõõdikute jaoks on vaja riistvara.
  • Vananenud näidud? Kontrolli aruandlusintervalli – väga pikad intervallid (7200+ sekundit) tähendavad harva andmete uuendamist. Samuti veendu, et kaugsõlm on endiselt võrgus.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. Kui samal siinil on mitu andurit, kontrolli raadio jadapordi arendajaväljundis aadresside kokkupõrkeid.


diff --git a/v2.8.0/et-rEE/user/translate.html b/v2.8.0/et-rEE/user/translate.html deleted file mode 100644 index 0d7f59e610..0000000000 --- a/v2.8.0/et-rEE/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Tõlgi rakendus | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Tõlgi rakendus

Tõlgete koostamisele kaasaaitamine aitab Meshtasticut laiemale publikule kättesaadavaks teha. Rakendus kasutab nii kasutajaliidese kui ka rakendusesisese dokumentatsiooni kogukonna tõlgete haldamiseks Crowdinit.


Mida tõlgitakse

Resource Source Location Sõnumid
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Märkus: Arendaja juhend ainult inglise keeles. Kaastöölistele suunatud koodikeskset dokumentatsiooni ei tõlgita.


How to Contribute

  1. Külasta Crowdini projekti. Ava Meshtastic Android Crowdini projekt ja logi sisse või loo tasuta konto.
  2. Vali keel. Vali olemasolev keel või taotle uut, avades GitHubi probleemi.
  3. Tõlgi stringe. Crowdin kuvab ingliskeelse allika vasakul ja sinu tõlke paremal. Tõlki iga string ja salvesta.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 **Vihje.” Hoia tõlked lühikesed. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Lisa uus keel

Kui teie keelt Crowdinis veel pole:

  1. Ava probleem GitHubis ja taotle uut lokaati.
  2. Hooldaja lisab keele Crowdinile ja seadistab faili crowdin.yml.
  3. Pärast lisamist saad kohe tõlkima hakata.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Lokaadikaustad kasutavad Androidi ressursikonventsiooni {lang}-r{REGION} (nt fr-rFR, de-rDE, ja-rJP), mis vastab rakenduste stringide jaoks kasutatavatele values-* kataloogidele.

Rakendus valib automaatselt õige lokaadi seadme Keele ja piirkonna sätete põhjal.


Translation Guidelines

  • Ära tõlgi tehnilisi termineid nagu “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — need on universaalsed.
  • Jäta kohatäited puutumata. Stringid nagu %1$s või %d täidetakse käitusajal. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Testi võimalusel. Vaheta seadme keelt ja ava rakendus, et näha, kuidas tõlked kontekstis välja näevad.

Questions?

Kui on küsimusi konkreetse stringi konteksti kohta või vajad abi alustamiseks, ava arutelu lehel Meshtastic GitHub Discussions.

Tänan teid Meshtasticu haardeala laiendamise eest!


diff --git a/v2.8.0/et-rEE/user/units-and-locale.html b/v2.8.0/et-rEE/user/units-and-locale.html deleted file mode 100644 index 8a1bd02d9b..0000000000 --- a/v2.8.0/et-rEE/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Ühikud, mõõtühikud ja lokaat | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Ühikud, mõõtühikud ja lokaat

Meshtastic rakendus kuvab automaatselt temperatuure, vahemaid, kiirusi ja aegu ühikutes, milleks sinu seade on seadistatud – rakenduses pole vaja sätteid muuta.


How It Works

Meshtastic raadiod edastavad andmeid alati meetrilistes ühikutes (meetrites, °C, m/s, hPa jne). Kui rakendus need andmed vastu võtab, teisendab ja kuvab see väärtused seadme lokaadi määratud ühikutes.

On Android, your measurement preferences are determined by your system Language & Region settings. Töölaual (JVM) kasutab rakendus JVM-i vaikesätet „lokaat”.

💡 Vihje: Rakenduses pole kunagi vaja ühikuid vahetada. Muuda oma süsteemi mõõtmiste eelistusi ja kõik Meshtasticu ekraanid värskendatakse automaatselt – sõlmede üksikasjad, telemeetriadiagrammid, ilm, kõrgus ja palju muud.


Temperatuur

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Sinu sätted Teadmiseks
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Sinu sätted Small Distance Large Distance Kõrgus
Meetriline 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

Rakendus kasutab loomulikku skaleerimist – lühikesed vahemaad jäävad meetritesse või jalgadesse, pikemad vahemaad aga muutuvad automaatselt kilomeetriteks või miilideks.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Kaart — teekonnapunktide vahemaad, traceroute’i hüppevahemaad
  • Compass — distance to selected node

Kiirus

GPSi maapealne kiirus kuvatakse lokaadi eelistatud kiiruseühikus.

Sinu sätted Teadmiseks
Meetriline 12 km/h
Imperial (US) 7 mph

Tuul

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Sinu sätted Teadmiseks
Meetriline 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Sinu sätted Teadmiseks
Meetriline 12 mm
Imperial (US) 0,5 in

Units That Never Change

Mõned ühikud on rahvusvahelised standardid ja neid kuvatakse ühtemoodi olenemata lokaat:

Measurement Unit Why
Baromeetrii rõhk hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiatsioon μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Niiskus, aku, mulla niiskus % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Sätted What It Controls Example
24-Hour Time Kella vorming 14:30 vs 2:30 PM
Kuupäeva vorming Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Tagasi Meshtastic juurde — väärtused värskendatakse kohe

💡 Vihje: Kogu mõõtühikute vormindamine toimub tsentraalselt ja arvestab platvormi lokaaduga, seega püsivad ühikud kogu rakenduses ühtsed.



diff --git a/v2.8.0/et-rEE/user/widget.html b/v2.8.0/et-rEE/user/widget.html deleted file mode 100644 index 2c9fa436b1..0000000000 --- a/v2.8.0/et-rEE/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Eesti
Meshtastic Docs ↗

🌐 Eesti — Community translation View in English

Home Screen Widget

Androidis pakub Meshtastic avakuva vidinat, mis näitab teie ühendatud raadio reaalajas kohalikku statistikat – rakendust pole vaja avada.

What It Shows

The widget displays the connected radio’s current local stats:

  • Aku – raadio aku tase või Toitel, kui see töötab välise toiteallikaga
  • ChUtil — kanali kasutus (kui hõivatud on LoRa kanal protsentides)
  • AirUtil — eetriaega (kui suurt osa töötsüklist raadio edastab)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Vihje: Väärtused kajastavad raadiojaama, millega olete hetkel ühendatud. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Leia loendist Meshtastic ja lohista Kohaliku statistika vidin oma avakuvale.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Märkus: Vidin on ainult Androidile. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Avasta — kanali ja eetriaja kasutamine kärgvõrgu ulatuses


diff --git a/v2.8.0/fi-rFI/index.html b/v2.8.0/fi-rFI/index.html deleted file mode 100644 index 4d62368ac8..0000000000 --- a/v2.8.0/fi-rFI/index.html +++ /dev/null @@ -1,58 +0,0 @@ -

Meshtastic Android -sovelluksen dokumentaatio

- -

Käyttäjä- ja kehittäjädokumentaatio Meshtasticin Android-, Desktop- ja iOS-sovelluksille, jotka on toteutettu Kotlin Multiplatform (KMP) -teknologialla.

- -

Käytä sivupalkkia selataksesi käyttöopasta ja Kehittäjäopasta. Käyttöoppaasta löydät sovelluksen ominaisuudet ja kehittäjäoppaasta ohjeet projektin kehittämiseen osallistumiseen.

- -
- -

Pikalinkit

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OpasKuvaus
AloittaminenYhdistä radioon ja lähetä viesti
Viestit & kanavatKanavaviestit, yksityisviestit, reaktiot ja salaus
RadiotMesh-verkon radioluettelon ymmärtäminen
SignaalimittariMiten LoRa-signaalin laatumittari toimii
Yksiköt & kielialueLämpötilojen, etäisyyksien ja aikaesitysten mukautuminen alueesi asetuksiin
TyöpöytäsovellusTyöpöytäsovelluksen käyttö Linuxissa, macOS ja Windows käyttöjärjestelmissä
ArkkitehtuuriYleiskatsaus sovelluksen arkkitehtuuriin kehittäjille
Osallistuminen kehitystyöhönHaarojen nimeäminen, PR-työnkulku ja tarkistuskomennot
- -
- -
-

Tämä dokumentaatio perustuu samoihin Markdown-lähdetiedostoihin kuin sovelluksen sisäinen Ohje ja dokumentaatio -osio.

-
diff --git a/v2.8.0/fi-rFI/user/android-auto.html b/v2.8.0/fi-rFI/user/android-auto.html deleted file mode 100644 index 63f78ca57f..0000000000 --- a/v2.8.0/fi-rFI/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Android Auto

Meshtastic integroituu Android Auton kanssa, joten voit pysyä yhteydessä mesh-verkkoosi ajon aikana ilman, että otat käsiä pois ratista tai katsetta tiestä.

⚠️ Huom: Android Auto -tuki on saatavilla vain Google-version Android-laitteissa. Sitä ei ole mukana F-Droid-versiossa, eikä se ole saatavilla työpöydällä tai iOS:ssä.

ℹ️ Mitä on saatavilla tällä hetkellä: Google Play -versio tarjoaa tällä hetkellä vain ilmoituksiin perustuvan viestituen autoon – saapuvat viestit luetaan auton näytöllä, ja voit vastata niihin sen ilmoitusohjaimilla. Alla kuvattu välilehdellinen Viestit / Radiot / Tila -kokemus on Android Car App Libraryyn perustuva beetaversio (Googlen Android Car -mallit ovat toistaiseksi rajoitettuja suljettuihin/sisäisiin Play-jakeluihin), joten se näkyy vain versioissa, jotka on käännetty asetuksella -PenableCarTemplates=true. Tämän sivun loppuosa kuvaa tätä beetakokemusta.

Yleiskatsaus

Kun puhelimesi on yhdistetty Android Auto -laitteeseen (tai kehityksessä käytettävään Desktop Head Unit -emulaattoriin), beetaversio näyttää Meshtasticin Android Car App Libraryyn perustuvana viestisovelluksena, jossa on ajon aikaiseen käyttöön optimoitu välilehdellinen aloitusnäyttö:

  • Viestit — viimeisimmät keskustelut, ääneen luettava ja äänellä vastattava.
  • Radiot — mesh-verkon radiolista, sisältää radion yksityiskohtaisen näkymän.
  • Tila — nykyinen yhteys- ja mesh-verkon tila.

Autosovellus ei luo omaa yhteyttä. Se käyttää Meshtastic-sovelluksen olemassa olevaa yhteyttä, radioa ja viestitilaa, joten se heijastaa sitä, mihin puhelimesi on jo yhdistetty.

⚠️ Huom: Puhelimen täytyy olla yhdistetty Meshtastic-radioon, jotta autosovellus näyttää reaaliaikaista dataa. Jos sovellus ei ole yhdistetty, auton näyttö näyttää katkaistun yhteyden tilan.

Viestit

Viestit-välilehti näyttää viimeisimmät keskustelusi. Ajon aikana voit:

  • Kuunnella viestit ääneen, jotta sinun ei tarvitse katsoa näyttöä.
  • Vastata äänellä tai tekstillä käyttämällä pääyksikön vastaustoimintoa ja sanella vastauksesi hands-free-tilassa.

Laitteet

Radiot-välilehti näyttää mesh-verkon radiolistan ajamiseen sopivassa näkymässä. Radion valinta avaa yksityiskohtaisen näkymän, jossa näkyy tärkeimmät tiedot kyseisestä radiosta. Katso Radiot saadaksesi täydellisen selityksen näytettävistä tiedoista.

Tila

Tila-välilehti näyttää nykyisen yhteyden ja mesh-verkon tilan yhdellä silmäyksellä — hyödyllinen varmistamaan, että olet yhä yhteydessä radioon ilman puhelimen avaamista.

Aiheeseen liittyvät aiheet

  • Viestit ja kanavat — kaikki viestitoiminnot puhelimessa
  • Radiot — yksityiskohtainen radiolista ja radion tietonäkymä
  • Yhteydet — miten sovellus yhdistyy radioon


diff --git a/v2.8.0/fi-rFI/user/app-functions.html b/v2.8.0/fi-rFI/user/app-functions.html deleted file mode 100644 index 1d186a5904..0000000000 --- a/v2.8.0/fi-rFI/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - Sovellustoiminnot | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Sovellustoiminnot

Sovellustoiminnot tuovat Meshtastic-ominaisuudet Android-järjestelmälle ja laitteessa toimiville tekoälyavustajille (kuten Gemini) Android App Functions -rajapinnan kautta. Kun ne ovat käytössä, avustaja voi löytää ja käynnistää mesh-toimintoja puolestasi — esimerkiksi lähettää viestin tai tarkistaa mesh-tilan — ilman että avaat sovellusta.

⚠️ Huom: Sovellustoiminnot ovat saatavilla vain Google-version Android-laitteissa.

⚠️ Huom: Tämä on erillinen in-app Chirpy -avustajasta. Sovellustoiminnot mahdollistavat sen, että järjestelmän tekoälyavustaja voi toimia mesh-verkon kautta; Chirpy on Meshtastic-sovelluksen sisäinen keskusteluavustaja.

Sovellustoimintojen käyttöönotto

Sovellustoimintoja hallitaan kohdasta Asetukset → Järjestelmän tekoäly (sovelluksen näkymän nimi on “Järjestelmän tekoäly”). Näyttö sisältää:

  • Pääkytkin, nimeltään “Salli tekoälyn käyttö”, ja alaotsikko “Salli järjestelmän tekoälyavustajien (esim. Gemini) löytää ja käyttää mesh-toimintoja”. Kun pois käytöstä, toimintoja ei jaeta järjestelmälle.
  • Yksittäinen kytkin jokaiselle toiminnolle, jotta voit paljastaa vain haluamasi ominaisuudet.

Toiminnot on jaettu Kirjoita-osioon (toiminnot, jotka muuttavat jotakin tai lähettävät dataa mesh-verkkoon) ja Lue-osioon (toiminnot, jotka palauttavat vain tietoa).

Sovellustoimintojen näkymä, jossa on pääkytkin ja toimintokohtaiset kytkimet

Kirjoitustoiminnot

Toiminto Mitä se tekee
Lähetä viesti Lähettää tekstiviestin kontaktille (suora viesti) tai kanavaan, enintään 237 tavua.

Lukutoiminnot

Toiminto Mitä se palauttaa
Hae mesh-verkko-tila Koko mesh-verkon tila.
Hae radiolista Mesh-verkon radiolista.
Hae kanavatiedot Tietoa kanavistasi.
Hae laitteen tila Yhdistetyn radion tila.
Hae radion tiedot Yksityiskohtaiset tiedot tietystä radiosta.
Hae viimeisimmät viestit Viimeisimmät viestisi keskusteluista.
Hae lukemattomien yhteenveto Yhteenveto lukemattomista viesteistä.
Hae mesh-metriikat Mesh-verkon telemetria ja metriikat.

Yksityisyys

🔒 Tietosuoja: Lähetä viesti -toiminnon avulla avustaja voi lähettää viestejä mesh-verkkoosi puolestasi. Ota käyttöön vain ne toiminnot, joihin luotat avustajan saavan käyttää. Lukutoiminnot tuovat radion, viestien ja metriikoiden tiedot avustajan käyttöön — ota käyttöön vain se, mitä haluat jakaa. Jokaisella toiminnolla on oma kytkin, ja pääkytkin poistaa kaikki käytöstä kerralla.

Aiheeseen liittyvät aiheet

  • Viestit ja kanavat — viestien lähettäminen suoraan sovelluksessa
  • Radiot — radiolista, josta lukutoiminnot hakevat tiedot
  • Radiometriikat — telemetria, jonka pohjalta Hae mesh-metriikat muodostuu


diff --git a/v2.8.0/fi-rFI/user/connections.html b/v2.8.0/fi-rFI/user/connections.html deleted file mode 100644 index 3946ed70e4..0000000000 --- a/v2.8.0/fi-rFI/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Yhteydet | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Yhteydet

Meshtastic tukee useita siirtotapoja puhelimen/työpöydän ja radion välillä viestimiseen.

Bluetooth (BLE)

Bluetooth Low Energy on oletus ja yleisin yhteystapa Androidilla.

Laitteen pariliitos

  1. Varmista, että Meshtastic-radio on päällä ja paritustilassa.
  2. Avaa sovellus ja siirry Yhdistä-välilehdelle.
  3. Napauta Hae bluetooth-laitteita — lähellä olevat Meshtastic-radiot ilmestyvät näkyville.
  4. Valitse laitteesi listasta.
  5. Hyväksy Bluetooth-pariliitospyyntö, jos se tulee näkyviin.

Bluetooth-laitteiden haku, jossa löytynyt radio näkyy luettelossa

Vaihda bluetooth-, verkko- ja USB-yhteyksien välillä käyttämällä yhteyskortin alapuolella olevaa yhteysvalitsinta (vain yksi yhteystapa voi olla aktiivinen kerrallaan):

Yhteysvalitsin

💡 Vinkki: Jos laitteesi ei näy, varmista että Bluetooth ja sijaintiluvat on myönnetty ja että radio ei ole jo yhdistettynä toiseen laitteeseen.

Yhteyden tila

Ikoni Tila Kuvaus
🟢 Yhdistetty Aktiivinen radiolinkki muodostettu
🟡 Yhdistetään Yhteyden muodostus käynnissä
🔴 Ei yhdistetty Ei aktiivista yhteyttä
⚪ Ei määritetty Ei laitetta valittuna

Yhdistettäessä tilailmaisin näyttää nykyisen yhteyden tilan:

Yhdistämisen tila

Jos laitteita ei löydy, sovellus näyttää tyhjän näkymän ohjeiden kanssa:

Laitteita ei löytynyt

Bluetoothin vianmääritys

  • Laitetta ei löydy: Kytke Bluetooth pois/päälle ja varmista, että sijainti on käytössä.
  • Yhteys katkeaa: Siirry lähemmäs radiota ja tarkista mahdolliset häiriöt.
  • Paritus hylätty: Poista laite Androidin Bluetooth-asetuksista ja yritä uudelleen.

USB-sarjaporttiyhteys

USB-yhteydet tarjoavat langallisen vaihtoehdon, hyödyllinen työpöytäkäytössä tai kun Bluetooth ei ole käytettävissä.

Asetukset

  1. Yhdistä radio USB-kaapelilla laitteeseesi.
  2. Sovellus pyytää USB-oikeuksia — paina Salli.
  3. Yhteys muodostetaan automaattisesti.

⚠️ Huom: USB-yhteydet vaativat OTG-tuen Android-laitteissa.

TCP/IP (Verkko)

Jotkin Meshtastic-radiot tukevat WiFi tai Ethernet-yhteyttä, mikä mahdollistaa TCP-pohjaiset yhteydet lähiverkkosi kautta. Liitä radio ensin verkkoon käyttämällä radion omia WiFi-asetuksia (laiteohjelmiston verkkokäyttöliittymän tai muun yhteystavan kautta) — yhdistä siihen sitten sovelluksesta.

Yhdistäminen verkon kautta

  1. Varmista, että radio on samassa lähiverkossa kuin puhelimesi tai tietokoneesi.
  2. Valitse yhdistä-näytössä yhteysvalitsimesta Verkko.
  3. Valitse radio jommallakummalla seuraavista tavoista:
    • Hae verkkolaitteita — ota tämä käyttöön, jotta lähiverkossa itsensä ilmoittavat radiot löytyvät automaattisesti (mDNS / _meshtastic._tcp). Löydetyt laitteet näkyvät luettelossa; yhdistä napauttamalla haluamaasi laitetta.
    • Lisää laite manuaalisesti — anna radion IP-osoite (tai isäntänimi) ja portti (oletus: 4403).
  4. Aiemmin käytetyt verkko-osoitteet tallennetaan Viimeisimmät verkkolaitteet -osioon nopeaa uudelleenyhdistämistä varten (poista pitämällä painettuna).

💡 Vinkki: Verkkolaitteiden haku käyttää mDNS:ää, joka toimii vain, kun molemmat laitteet ovat samassa aliverkossa. Android 17:ssä ja uudemmissa versioissa sovellus tarvitsee lähiverkon käyttöoikeuden laitteiden hakuun. Jos haku ei löydä mitään, lisää laite manuaalisesti IP-osoitteella.

Milloin TCP-yhteyttä kannattaa käyttää

  • Radio on samassa lähiverkossa
  • Testaus simuloidulla radiolla
  • Ympäristöt, joissa Bluetoothissa on häiriöongelmia

Uudelleenyhdistämisen toiminta

Sovellus yhdistyy käynnistyksen yhteydessä viimeksi valittuun laitteeseen. Voit vaihtaa yhteystapaa Yhdistä-näkymästä milloin tahansa.

Yhteyden katkaisemiseksi paina Yhdistä-näkymän katkaisupainiketta:

Katkaise yhteys radiosta

Työpöytäyhteydet

Työpöydällä (Linux/macOS/Windows) sovellus tukee:

  • Bluetooth (BLE) — Kable-kirjaston kautta; toimii macOS:llä, Linuxilla ja Windowsilla
  • USB-sarjaportti — ensisijainen langallinen yhteystapa
  • TCP/IP — verkkoyhteydellä oleville radioille

Katso Työpöytäsovellus alustakohtaiset tiedot ja pikanäppäimet.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/debug-logs.html b/v2.8.0/fi-rFI/user/debug-logs.html deleted file mode 100644 index 845c3dc778..0000000000 --- a/v2.8.0/fi-rFI/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Virheenjäljityslokitiedot | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Virheenjäljityslokitiedot

Kun jokin toimii odottamattomasti, sovelluksen virheenjäljityslokitiedot ovat hyödyllisin liite vikaraporttiin. Meshtastic voi kerätä ne puolestasi suoraan sovelluksessa — et enää tarvitse adb:tä tai työpöytätyökaluja niiden keräämiseen.

Avaa Virheenjäljityspaneeli kohdasta Asetukset → Lisäasetukset → Virheenjäljityspaneeli.

💡 Ilmoitatko ongelmasta? Vie lokitiedot (katso alla) ja liitä .txt-tiedosto raporttiisi osoitteessa github.com/meshtastic/Meshtastic-Android/issues. Lokitietotallenne, joka kattaa hetken jolloin ongelma ilmeni, auttaa muuttamaan “ei toimi” -kuvauksen sellaiseksi, jonka kehittäjä pystyy oikeasti selvittämään.

Kaksi välilehteä

Virheenjäljityspaneelissa on kaksi välilehteä:

  • Paketit — radion lähettämä ja vastaanottama purettu mesh-liikenne (protokollatason viestit). Hyödyllinen mesh-verkon ja reitityksen toiminnan diagnosointiin.
  • Sovelluslokitiedot — sovelluksen oma diagnostiikkaloki (Androidin logcat), joka sisältää varoitukset, virheet ja pinoseurannat itse sovelluksesta. Tätä tarvitaan yleensä vikaraportissa.

Jokaisella välilehdellä on oma Vie-painikkeensa, ja kumpikin tuottaa oman tiedostonsa. Voit siis liittää raporttiin vain tarvittavan tiedoston tai molemmat.

Sovelluslokitietojen tarkastelu

Sovelluslokitiedot-välilehti näyttää viimeisimmät lokirivit vain tästä sovelluksesta — ei koskaan muista laitteesi sovelluksista.

  • Haku — kirjoita hakukenttään suodattaaksesi vastaavat lokirivit.
  • Tasosuodatin — V / D / I / W / E -painikkeilla voit näyttää tai piilottaa Verbose-, Debug-, Info-, Warn- ja Error-lokirivit. Piilota taso napauttamalla sitä. Napauta uudelleen, niin se tulee takaisin näkyviin. Vakavat virheet näytetään aina.
  • Päivitä — päivityskuvake lukee uusimmat lokitiedot uudelleen.

Virhe- ja varoitusrivit on korostettu, jotta ongelmat erottuvat paremmin.

Lokien vienti

Napauta latauskuvaketta tallentaaksesi nykyiset lokitiedot tiedostoon. Valitset tallennuspaikan järjestelmän tiedostonvalitsimessa, ja tiedosto nimetään aikaleimalla (esimerkiksi meshtastic_logcat_20260701_143312.txt), jotta aiemmat viennit eivät ylikirjoitu.

Liitä tämä tiedosto GitHub-vikaraporttiisi.

🔒 Tietosuoja: Viennit peittävät automaattisesti yksityiset avaimet, ylläpitoavaimet ja istuntoavaimet ennen tiedoston kirjoittamista. Kanavien PSK-avaimia ei peitetä, ja lokit voivat sisältää myös radioiden nimiä, sijainteja ja muita tunnistetietoja. Tarkista tiedosto ennen sen julkista jakamista, ja jos olet epävarma, jaa se yksityisesti.

Työpöytä

Työpöytäsovelluksessa ei ole järjestelmän logcat-lokitietoa, joten Sovelluslokit-välilehti näyttää sen sijaan sovelluksen itse keräämät lokit. Haku, suodatus ja vienti toimivat samalla tavalla.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/desktop.html b/v2.8.0/fi-rFI/user/desktop.html deleted file mode 100644 index be4c201a7d..0000000000 --- a/v2.8.0/fi-rFI/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Työpöytäsovellus | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Työpöytäsovellus

Meshtastic-työpöytäsovellus jakaa ydinkoodipohjan Android-version kanssa Kotlin Multiplatformin kautta. Useimmat ominaisuudet toimivat identtisesti Linuxilla, macOS:llä ja Windowsilla.

Asennus

Linux

  • Lataa .deb- tai .AppImage-paketti julkaisusivulta
  • Tai rakenna lähdekoodista komennolla ./gradlew :desktopApp:run

macOS

  • Lataa .dmg-paketti julkaisusivulta
  • Tai rakenna lähdekoodista

Windows

  • Lataa .msi-asennuspaketti julkaisusivulta
  • Tai rakenna lähdekoodista

Radioon yhdistäminen

USB-sarjaportti (ensisijainen)

Luotettavin yhteystapa työpöydällä:

  1. Yhdistä Meshtastic-radio USB-kaapelilla.
  2. Sovelluksen pitäisi tunnistaa sarjaportti automaattisesti.
  3. Jos laitetta ei tunnisteta, valitse oikea sarjaportti Yhdistä-valikosta.

TCP/IP

Verkkoyhteydellä oleville radioille:

  1. Syötä radion IP-osoite ja portti (oletus: 4403).
  2. Paina Yhdistä.

Bluetooth (BLE)

Bluetooth Low Energy on tuettu työpöydällä Kable-kirjaston kautta:

  1. Varmista, että järjestelmässäsi on Bluetooth-adapteri.
  2. Sovellus etsii lähellä olevia Meshtastic-radioita automaattisesti.
  3. Valitse laitteesi Yhdistä-näkymästä.

Ominaisuuksien yhtenevyys

Ominaisuus Android Työpöytä Viestit
Viestit ✓ ✓ Täysi yhtenevyys
Radiolista ✓ ✓ Täysi yhtenevyys
Kartta ✓ ◐ Kartta-välilehti on käytettävissä myös Desktop-versiossa, mutta interaktiivinen karttanäkymä on käytettävissä vain Androidissa
Asetukset ✓ ✓ Täysi yhtenevyys
Bluetooth (BLE) ✓ ✓ Työpöydällä Kable-kirjaston kautta
Laiteohjelmiston päivitys ✓ ✓ Sovelluksen USB-, BLE- ja Wi-Fi-päivitykset (ESP32) toimivat samalla tavalla kuin Androidissa
Ilmoitukset ✓ ✓ Käyttöjärjestelmän natiivit ilmoitukset
Widgetit ✓ ✗ Vain Android
Vain Android ✓ ✗ Vain Android — ei saatavilla työpöydällä tai iOS:llä
Tekoälyavustaja (Chirpy) ✓* ✗ Vain Google-version Android-laitteissa
Sovellustoiminnot (järjestelmän tekoäly) ✓† ✗ Vain Google-version Android-laitteissa

*Chirpy AI vaatii Android 14+ -version Google-version Android-laitteissa, joissa on tuettu laitteisto.

†Sovellustoiminnot tuo sovellustoiminnot Android-järjestelmän tekoälylle Google-version Android-laitteissa. Katso Sovellustoiminnot.

Käyttöliittymäerot

Työpöytäsovellus käyttää samaa Compose Multiplatform -käyttöliittymää, mutta se on mukautettu suuremmille näytöille ja työpöytäkäyttöön.

Pikanäppäimet

Pikanäppäimissä käytetään macOS:ssä ⌘-näppäintä (Command) ja Windowsissa sekä Linuxissa Ctrl-näppäintä. (Super-/Windows-näppäimelle ei ole määritetty toimintoa.)

Pikanäppäin Toiminto
⌘/Ctrl+Q Sulje sovellus
⌘/Ctrl+, Avaa asetukset
⌘/Ctrl+1 Vaihda Viestit-välilehdelle
⌘/Ctrl+2 Vaihda Radiot-välilehdelle
⌘/Ctrl+3 Vaihda Kartta-välilehdelle
⌘/Ctrl+4 Vaihda Yhdistä-välilehdelle
⌘/Ctrl+/ Avaa tietoja

Ikkuna ja järjestelmätarjotin

  • Ikkunan koon muuttaminen — responsiivinen asettelu mukautuu ikkunan kokoon
  • Järjestelmätarjotin — pienennä järjestelmätarjottimeen taustalla tapahtuvaa mesh-toimintaa varten
  • Valikko — napsauta järjestelmätarjottimen kuvaketta hiiren oikealla näyttääksesi ikkunan tai sulkeaksesi sovelluksen
  • Hiiritoiminnot — hover-tilat ja tavallinen työpöydän navigointi

Ilmoitusasetukset

Työpöytäsovellus tarjoaa sisäiset kytkimet ilmoitusten hallintaan — viestit, uudet radiot ja alhaisen akun varoitukset. Avaa nämä kohdasta Asetukset → Ilmoitukset sovelluksessa.

Sisäänrakennettu dokumentaatioselain

Työpöytäsovellus sisältää sisäänrakennetun dokumentaatioselaimen, jonka avulla ohjeisiin pääsee nopeasti poistumatta sovelluksesta.

Dokumentaatioselain ja sisällysluettelo

Selain tukee koko dokumentaation laajuista kokotekstihakua:

Haku dokumentaatioselaimessa

Yksittäiset dokumenttisivut renderöidään täydellä muotoilulla:

Dokumenttisivu

Rakentaminen lähdekoodista

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Vaatimukset:

  • JDK 21
  • Android SDK:ta ei tarvita pelkkien työpöytäversioiden rakentamiseen

Tunnetut rajoitukset

  • Interaktiivinen karttanäkymä on käytettävissä vain Androidissa — Kartta-välilehti on työpöytä-versiossa näkyvissä, mutta karttaa ei näytetä
  • Jotkin Android-kohtaiset ominaisuudet (widgetit, tietyt ilmoituskanavat) eivät ole käytettävissä
  • Suorituskyky voi vaihdella heikkotehoisella laitteistolla ajettaessa Compose Desktopia
  • BLE-paritus ei vielä tallenna laiteparia työpöydällä (paritus toimii ilman tallennusta)

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/discovery.html b/v2.8.0/fi-rFI/user/discovery.html deleted file mode 100644 index c9aeb82db8..0000000000 --- a/v2.8.0/fi-rFI/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Haku | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Haku

Hakutyökalut auttavat ymmärtämään miten mesh-verkko on yhteydessä — mitkä radiot kuulevat toisensa, mitä reittejä viestit kulkevat ja missä on pullonkauloja tai heikkoja yhteyksiä.

Sovellus tarjoaa kaksi toisiaan täydentävää lähestymistapaa:

  • Paikallinen verkon haku (Scanner) — automaattinen tila, joka kierrättää yhdistettyä radiota eri LoRa-esiasetusten läpi, kuuntelee jokaisella ja arvioi, mikä esiasetus toimii parhaiten sijainnissasi.
  • Manuaalinen etsiminen — reitinselvityksen reitit, naapuritiedot ja radiolista, joita voit käyttää milloin tahansa yksittäisten reittien ja topologian tarkasteluun.

Paikallinen verkon haku (Scanner)

Paikallinen verkon haku on erillinen skannaustila, joka auttaa löytämään parhaan LoRa-modeemiesiasetuksen sijaintiisi ja näkemään, mitkä radiot ovat aktiivisia kullakin esiasetuksella. Se kierrättää yhdistettyä radiota valitsemiesi esiasetusten läpi, kuuntelee jokaisella asetuksella määrätyn ajan kerätäkseen paketteja ja analysoi sekä pisteyttää tulokset.

Avaa se kohdasta Asetukset → Lisäasetukset → Paikallinen mesh-haku. Työpöytäversiossa sille on oma kohta kohdassa Asetukset → Paikallinen mesh-haku.

⚠️ Huom: Haku muuttaa radiosi LoRa-asetuksia väliaikaisesti skannauksen ajaksi ja palauttaa alkuperäisen konfiguraation sen päätyttyä. Laitteen täytyy olla yhdistettynä, jotta skannaus voidaan suorittaa.

Skannauksen asetukset

Ennen aloittamista määritä nämä asetukset:

Hallinta Kuvaus
LoRa-esiasetuksen valitsin Valitse yksi tai useampi esiasetus skannattavaksi. Haku pysähtyy jokaisessa valitussa esiasetuksessa vuorollaan kuuntelemaan liikennettä.
Kuunteluaika Kunkin esiasetuksen kuunteluaika. Valitse 1, 5, 15, 30, 45, 60, 90, 120 tai 180 minuuttia. Pidempi kuunteluaika kerää enemmän paketteja ja antaa tarkemman kuvan, mutta kestää pidempään.
Pidä näyttö päällä Valinnainen kytkin, joka estää näytön siirtymisen lepotilaan pitkän skannauksen aikana.

Käynnistä-painike ei ole käytettävissä ja näyttää syyn, kunnes skannaus voidaan suorittaa. Yleisiä syitä, miksi se on pois käytöstä:

  • Laite ei ole yhdistetty
  • Esiasetuksia ei ole valittu skannattavaksi.
  • Valittu esiasetus käyttää 2,4 GHz -taajuutta, jota laitteistosi ei tue.

Reaaliaikainen edistyminen

Skannauksen aikana haku näyttää sen nykyisen vaiheen:

Tila Mitä tapahtuu
Valmistelee Tallennetaan nykyinen kokoonpano ja valmistaudutaan skannaukseen.
Vaihdetaan kohteeseen <preset> Vaihdetaan radio seuraavaan esiasetukseen testausta varten.
Yhdistetään uudelleen Yhteys muodostetaan uudelleen esiasetuksen vaihdon jälkeen.
Kuuntelu Nykyisen esiasetuksen kuuntelu pakettien keräämiseksi, seuraavaan vaiheeseen siirtymisen laskuri käynnissä.
Analyysi Kerättyjen pakettien käsittely ja esiasetusten vertailu ja pisteytys.
Palautetaan asetuksia Palautetaan alkuperäinen LoRa-konfiguraatio takaisin.

Kuuntelun laskuri näyttää jäljellä olevan ajan nykyisessä esiasetuksessa

Tulosten lukeminen

Kun skannaus valmistuu, haku näyttää jokaiselle testatulle esiasetukselle oman tuloskortin sekä yleisen yhteenvedon.

Esiasetuksen tuloskortti, jossa näkyy sijoitus ja kerätyt mittarit

Mittarit sisältävät:

Metrijärjestelmä Mitä ne kertovat sinulle
Radiolaatu (RF) Kyseisen esiasetuksen radioympäristön kokonaislaatu
Kanavan käyttöaste Kuinka kuormitetut radiotaajuudet olivat kuuntelun aikana.
Lähetysaika Havaittu lähetysaika.
Suorat ja välitetyt radiot Kuinka monta mesh-radiota kuultiin suoraan verrattuna välitettyihin.
Virheelliset / päällekkäiset paketit Vioittuneiden ja toistettujen pakettien määrä, joka kertoo ruuhkasta tai häiriöistä.

Tuloksista saatavilla olevat lisätoiminnot:

  • Skannaus­historia — tallennetut istunnot, joita voit tarkastella myöhemmin; katsele tai poista aiempia skannauksia.
  • Haun kartta — kartta skannauksessa löydetyistä radioista.
  • Raportin vienti — vie raportti PDF-tiedostona Androidilla tai tekstinä muilla alustoilla.

💡 Vinkki: Androidilla haku voi luoda laitteessa toimivan tekoälyyhteenvedon (Gemini Nano) tuloksistasi. Jos laitteessa toimivaa mallia ei ole käytettävissä, käytetään algoritmista yhteenvetoa — näin saat aina luettavan tulkinnan skannauksesta.


Verkkokutsu

Mesh Beacon antaa radioille mahdollisuuden kutsua muita liittymään mesh-verkkoon. Majakkatilassa oleva radio lähettää määräajoin kutsun, jossa voidaan ilmoittaa kanava, alue ja modeemiasetus. Näin lähistöllä olevat laitteet voivat havaita verkon jo ennen kuin niillä on yhteinen määritys.

Määritä se kohdassa Asetukset → Moduuliasetukset → Mesh Beacon:

  • Kuuntele majakoita – vastaanota muiden radioiden lähettämiä liittymiskutsuja.
  • Lähetä majakka – lähetä oma liittymiskutsusi määritetyin väliajoin. Voit liittää mukaan viestin ja tarjotun kanavan.

Vastaanotetut kutsut näkyvät Mesh-kutsut -korteissa haku-näytössä. Jokainen kortti näyttää lähettäjän viestin sekä tarjotun kanavan, alueen, esiasetuksen ja signaalin laadun. Käytettävissä ovat seuraavat toiminnot:

  • Liity – vaihda tarjottuun kanavaan ja esiasetukseen (radio palautetaan alkutilaan ja käynnistyy uudelleen). Jos tarjous vastaa nykyistä taajuuspaikkaasi, Lisää kanava lisää sen ilman uudelleenkäynnistystä.
  • Tutki – aloita Haku tarjotulla esiasetuksella, jotta voit tutkia mesh-verkkoa ennen liittymistä (näkyy vain, jos majakka tarjoaa esiasetuksen).
  • Hylkää – ohita kutsu.

Majakoiden ilmoittamat kanavat näkyvät myös Haku-toiminnon asetuksissa kohdassa Majakkakanavat. Valitse kanava lisätäksesi sen hakukohteeksi.


Manuaalinen haku

Alla olevat työkalut ovat käytettävissä milloin tahansa radiolistasta ja radion tietonäkymistä. Käytä niitä yksittäisten reittien tutkimiseen ja topologian muodostamiseen, joko osana skannausta tai sen sijaan.

Reitinselvitys

Reitinselvitys näyttää tarkan polun, jota kautta viesti kulkee omalta radioltasi mihin tahansa toiseen verkon radioon. Se on yksittäisistä työkaluista hyödyllisin yhteysongelmien vianmääritykseen.

Reitinselvityksen suorittaminen

  1. Siirry kohtaan Radiot ja napauta radiota, jota haluat jäljittää.
  2. Radion tietonäkymässä napauta Reitinselvitys.
  3. Sovellus lähettää reitinselvityspyynnön ja odottaa vastausta.
  4. Tulokset näyttävät jokaisen hypyn järjestyksessä sekä signaalin laadun jokaisessa vaiheessa.

Tulosten lukeminen

Reitinselvityksen tulos näyttää tältä:

Sinä → Radio A (SNR: 8.5, RSSI: -95) → Radio B (SNR: 5.2, RSSI: -108) → Kohde
-

Jokainen hyppy on välittäjä-radio, joka lähetti viestin eteenpäin. Jokaisen hypyn SNR- ja RSSI-arvot kertovat kyseisen yhteysvälin laadusta.

Mitä kannattaa tarkkailla Mitä se tarkoittaa
Kaikki hypyt näyttävät hyvän SNR:n (≥ −7 dB, vihreä) Hyvä reitti — viestit kulkevat luotettavasti
Yksi hyppy näyttää huonon SNR:n (< −15 dB, punainen) Heikko yhteys — tämä välityssegmentti on haavoittuva
Useita hyppyjä (4+) Pitkä reitti — harkitse radion siirtämistä sen lyhentämiseksi
Eri reitti uudelleenyrityksellä Verkko mukautuu — useita reittejä on olemassa (tämä on hyvä!)

Vinkki: Aja reitinselvitys useita kertoja muutaman minuutin aikana. Jos reitti muuttuu, verkossasi on varareittejä — merkki hyvin kytketystä verkosta.

Reitinselvityksen vianmääritys

  • Reittiä ei löytynyt — kohderadio voi olla kiinni, kantaman ulkopuolella tai eri kanavalla. Varmista, että molemmat radiot jakavat vähintään yhden kanavan samalla salausavaimella.
  • Reitinselvitys aikakatkaistu — reitti voi olla liian pitkä (ylittää hyppymäärärajan) tai välittäjä-radio on ruuhkautunut. Kokeile nostaa hyppymäärärajaa kohdassa Asetukset → LoRa-asetukset.
  • Epäsymmetriset reitit — reitinselvitys A→B voi kulkea eri reittiä kuin B→A. Tämä on normaalia — radiosignaalin eteneminen ei aina ole symmetristä.

Naapuritieto

Naapuritieto-moduuli antaa jokaisen radion lähettää listan radioista, jotka se voi kuulla suoraan (yhden hypyn päässä). Kun useat radiot jakavat naapurilistansa, voit muodostaa koko verkon topologian kartan.

Naapuritiedon käyttöönotto

  1. Siirry kohtaan Asetukset → Moduuliasetukset → Naapuritieto.
  2. Ota moduuli käyttöön.
  3. Aseta lähetysväli (oletus: 900 sekuntia / 15 minuuttia).

Kun toiminto on käytössä, radio lähettää säännöllisesti naapuritiedot. Myös muut radiot, joissa naapuritieto on käytössä, toimivat samalla tavalla.

Naapuritiedon katselu

  • Avaa minkä tahansa radion tietonäkymä ja etsi Naapurit-osio.
  • Jokainen naapurimerkintä näyttää radion, joka on kuultu suoraan, sekä sen signaalilaadun.
  • Yhdistä naapuritiedot useista radioista ymmärtääksesi koko mesh-verkon topologian.

⚠️ Huom: Naapuritieto lisää lähetysajan käyttöä, koska jokainen käytössä oleva radio lähettää säännöllisesti naapurilistansa. Vilkkaissa verkoissa, joissa on paljon radioita, harkitse pidempiä lähetysvälejä (3600 sekuntia tai enemmän) ruuhkautumisen välttämiseksi.


Radiolista hakutyökaluna

Radiolista on itsessään tehokas hakutyökalu, kun käytät sen suodatus- ja lajitteluominaisuuksia oikein.

Uusien radioiden löytäminen

  • Lajittele Viimeksi kuultu nähdäksesi viimeksi aktiiviset radiot ylimpänä.
  • Ota käyttöön Näytä tuntemattomat nähdäksesi radiot, jotka ovat ilmestyneet verkkoon, mutta eivät ole vielä lähettäneet käyttäjätietoja — usein juuri käyttöönotettuja laitteita.

Yhteyksien arviointi

  • Lajittele Hyppyjen määrä nähdäksesi mitkä radiot ovat suoraan tavoitettavissa (0 hyppyä) ja mitkä välitettyinä.
  • Lajittele Etäisyys löytääksesi lähellä olevat radiot ja varmistaaksesi niiden tavoitettavuuden.
  • Käytä Rajaa MQTT pois keskittyäksesi radioyhteyksillä tavoitettaviin radioihin (ei internet-sillan kautta).

Infrastruktuurin tarkistus

  • Poista Jätä infrastruktuuri pois käytöstä, jos haluat nähdä Router-, Router Late- ja Client Base -radiot.
  • Tarkista niiden signaalin laatu ja viimeksi kuultu -ajat varmistaaksesi, että infrastruktuuriradiot ovat kunnossa.

Katso Radiot saadaksesi lisätietoa suodatus- ja lajitteluasetuksista.


Vinkkejä mesh-verkon tutkimiseen

  • Aloita reitinselvityksellä — se antaa välittömän ja käytännöllisen tiedon yksittäisestä reitistä.
  • Ota naapuritieto käyttöön keskeisissä radioissa — erityisesti reitittimissä ja toistimissa, jotta saat näkyvyyden runkoverkkoon.
  • Tarkista kartta — Kartta yhdessä signaalitiedon kanssa auttaa ymmärtämään, miksi jotkin yhteydet ovat vahvoja ja toiset heikkoja.
  • Seuraa signaalin muutoksia ajan kuluessa — käytä Signaalimittari -opasta tulkitaksesi SNR- ja RSSI-arvot oikein.


diff --git a/v2.8.0/fi-rFI/user/firmware.html b/v2.8.0/fi-rFI/user/firmware.html deleted file mode 100644 index 75214820ca..0000000000 --- a/v2.8.0/fi-rFI/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Laiteohjelmiston päivitykset | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Laiteohjelmiston päivitykset

Pidä Meshtastic-radiosi ajan tasalla uusimmalla firmwarella, jossa on uusia ominaisuuksia, virhekorjauksia ja tietoturvaparannuksia.

Päivitysten tarkistaminen

  1. Avaa yhdistetyn radion asetukset ja valitse Lisäasetukset → Laiteohjelmiston päivitys. Tämä vaihtoehto näkyy vain laitteilla, jotka tukevat OTA-päivityksiä.
  2. Sovellus tarkistaa saatavilla olevat firmware-versiot.
  3. Saatavilla olevat päivitykset näyttävät versionumeron ja muutoslokin yhteenvedon.

Päivitysmenetelmät

OTA (Over-The-Air) Bluetooth-yhteyden kautta

Yleisin päivitystapa Android-käyttäjille:

  1. Varmista, että radiosi on yhdistetty Bluetoothilla.
  2. Siirry Firmware-päivitys -näkymään.
  3. Valitse haluamasi firmware-versio.
  4. Napauta Päivitä aloittaaksesi OTA-päivityksen.
  5. Odota, että päivitys valmistuu — älä katkaise yhteyttä päivityksen aikana.

Päivitysten tarkistaminen

⚠️ Varoitus: firmware-päivityksen keskeyttäminen voi rikkoa laitteen. Varmista, että radiossa on riittävästi akkua (>50 % suositus) ja pidä Bluetooth-yhteys lähellä koko prosessin ajan.

Laiteohjelmiston vastuuvapauslauseke

USB-päivitys sovelluksesta

Kun radio on yhdistetty USB:n tai sarjayhteyden kautta (bluetoothin sijaan), laiteohjelmiston päivitys -näkymässä on käytettävissä USB-tiedostonsiirto. Sovellus käynnistää laitteen uudelleen DFU-tilaan ja pyytää sitten tallentamaan .uf2-tiedoston laitteen DFU-asemaan järjestelmän tiedostonvalitsimen avulla. Tämä vaihtoehto näkyy vain USB tai sarjayhteydellä — sitä ei voi käyttää bluetoothin kautta.

ℹ️ nRF-käynnistyslatain: Jotkin laitteet (esimerkiksi RAK WisBlock RAK4631) edellyttävät, että käynnistyslatain päivitetään valmistajan sarjamuotoisella DFU-työkalulla (kuten adafruit-nrfutil). Pelkän .uf2-tiedoston kopioiminen ei päivitä käynnistyslatainta. Sovellus näyttää tästä vihjeen, kun se on tarpeen.

Muut päivitysvaihtoehdot

Käytä näitä palautukseen tai silloin, kun OTA- tai sovelluksen USB-päivitys ei ole käytettävissä:

Versiokanavat

Kanava Kuvaus
Vakaa Suositeltu useimmille käyttäjille: testatut julkaisut
Alpha Esijulkaisut voivat sisältää virheitä
Paikallinen tiedosto Asenna itse valitsemasi laiteohjelmistotiedosto ladatun julkaisun sijaan

Päivitystä edeltävä tarkistuslista

Ennen päivityksen aloitamista:

  • Akku > 50 %
  • Vakaa Bluetooth-yhteys
  • Kirjaa ylös nykyiset asetuksesi (ne voivat nollautua suurissa versiomuutoksissa)
  • Tarkista julkaisumuistiinpanot mahdollista yhteensopivuutta rikkovien muutosten varalta

Päivityksen jälkeen

Kun laiteohjelmisto on kirjoitettu, sovellus varmistaa päivityksen ja odottaa laitteen palaavan takaisin verkkoon:

Päivityksen varmistus ja laitteen uudelleenyhdistymisen odottaminen

Kun päivitys onnistuu:

  • Radio käynnistyy uudelleen automaattisesti
  • Bluetooth-yhteys muodostuu uudelleen
  • Varmista, että asetuksesi ovat säilyneet
  • Vahvista uusi versio Asennettu tällä hetkellä -kohdasta Laiteohjelmiston päivitys -näkymässä — sama tieto näkyy myös radion tiedoissa ja Yhteydet-näkymässä

Firmware-päivitys onnistui

Vianetsintä

Päivitys jumissa

Jos päivitys näyttää jumiutuneen:

  • Odota vähintään 5 minuuttia ennen toimenpiteitä
  • Jos laite on edelleen jumissa, käynnistä radio uudelleen virrankatkaisulla
  • Yritä päivitystä uudelleen

Laiteohjelmiston päivitysvirhe

Laite ei käynnisty päivityksen jälkeen

Jos laite ei käynnisty:

  1. Kokeile yhdistää USB:llä tietokoneeseen
  2. Käytä web-flasheria palautus tai DFU-tilassa
  3. Asenna tunnetusti toimiva firmware-versio
  4. Tarkista Meshtastic Discordista laitekohtaiset palautusohjeet

Yhteensopivuutta koskevat varoitukset

Sovellus voi näyttää varoituksia, kun:

  • Yhdistetyn radion laiteohjelmisto on alle tuetun vähimmäisversion
  • Sovelluksen ja laiteohjelmiston version välillä on ristiriita
  • Vanhentuneet ominaisuudet vaativat siirtymistä uuteen versioon

⚠️ Tärkeää: Päivitä Meshtastic-sovellus aina ennen firmware-päivitystä tai sen yhteydessä varmistaaksesi yhteensopivuuden.

Aiheeseen liittyvät aiheet

  • Yhteydet — yhdistetään uudelleen laiteohjelmiston päivityksen jälkeen
  • Laiteohjelmiston päivitysopas — täydellinen firmware-päivityksen ohjeistus meshtastic.org -sivustolla
  • Tuetut laitteet — tarkista firmware-yhteensopivuus laitekohtaisesti
  • UKK – usein kysytyt kysymykset meshtastic.org -sivustolla


diff --git a/v2.8.0/fi-rFI/user/help-and-docs.html b/v2.8.0/fi-rFI/user/help-and-docs.html deleted file mode 100644 index 2a29ab3542..0000000000 --- a/v2.8.0/fi-rFI/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Ohjeet jasovelluksen sisäinen dokumentaatio | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Ohjeet ja sovelluksen sisäinen dokumentaatio

Sama käyttöohje sisältyy myös sovellukseen, joten voit lukea sitä offline-tilassa poistumatta Meshtasticista. Avaa se kohdasta Asetukset → Ohjeet & dokumentaatio.

Selaaminen

Dokumentaation selain näyttää kaikki käyttöohjeen sivut. Avaa sivu napauttamalla sitä. Kuvat ja ristiviittaukset toimivat samalla tavalla kuin tässä dokumentaatiossa.

Sovelluksen sisäisen dokumentaation sisällysluettelo

Haku

Napauta hakukuvaketta ja kirjoita hakusanoja suodattaaksesi sivuja otsikon ja avainsanojen perusteella — tulokset päivittyvät kirjoittaessasi.

Haku sovelluksen sisäisessä dokumentaatiossa

Dokumentaatiosivu avattuna selaimessa:

Dokumentaatiosivu avattuna sovelluksessa

Chirpy — tekoälyn avustaja

Chirpy vastaa Meshtasticia koskeviin luonnollisella kielellä esitettyihin kysymyksiin käyttäen lähteenään tätä sovellukseen sisältyvää dokumentaatiota. Napauta Chirpy-painiketta dokumentaatioselaimessa, kirjoita kysymyksesi, niin se vastaa ja linkittää aiheeseen liittyville sivuille.

Chirpy-tekoälyavustaja vastaa kysymykseen ja näyttää linkkejä sivuille

⚠️ Tietosuoja: Google-versiota käyttävillä laitteilla Chirpy toimii laitteella Gemini Nanon avulla — kysymyksesi eivät poistu puhelimestasi. Pieni kielimalli ladataan ensimmäisellä käyttökerralla.

⚠️ Huomautus: F-Droid-, Desktop- ja iOS-versioissa Chirpy käyttää generatiivisen mallin sijaan dokumentaatioon perustuvaa avainsanahakua. Jos laitteesi ei tue laitteella toimivaa tekoälyä, avustaja piilotetaan, mutta voit silti selata dokumentaatiota ja hakea siitä tietoa normaalisti.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/map-and-waypoints.html b/v2.8.0/fi-rFI/user/map-and-waypoints.html deleted file mode 100644 index 72cbf98e56..0000000000 --- a/v2.8.0/fi-rFI/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Kartta ja reittipisteet | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Kartta ja reittipisteet

Karttanäkymä näyttää mesh-verkkosi radioiden maantieteelliset sijainnit sekä jaetut reittipisteet.

Karttanäkymä

Kartta näyttää:

  • Radion sijainnit — kunkin sijaintia lähettävän radion värilliset merkit
  • Reittipisteet — jaetut kiinnostavat kohteet
  • Oma sijaintisi — nykyinen GPS-sijaintisi

Radioiden merkinnät

Jokainen sijaintinsa raportoiva radio näytetään radiotunnisteena, jossa näkyy radion lyhyt nimi. Tunniste väritetään radion oman tunnistevärin mukaan (pysyvä väri, joka muodostetaan radion numerosta) — sama radiotunniste näkyy myös radioluettelossa, joten radio näyttää kaikkialla samalta. Merkin väri ei ilmaise, onko radio verkossa vai poissa verkosta. Kun radion sijainti päivittyy reaaliajassa, sen merkki sykkii hetken. Lähekkäiset merkit ryhmitellään, kun loitonnat karttaa.

Kartan hallinta

  • Zoomaus — nipistä tai käytä +/- -painikkeita
  • Panorointi — vedä karttaa
  • Keskitä — valitse sijaintipainike keskittääksesi oman sijaintisi
  • Radion napautus — avaa radion tiedot napauttamalla merkkiä

Kelluva työkalupalkki tarjoaa nopean pääsyn kompassiin, tasojen vaihtoon, suodattimiin, päivitykseen ja sijainnin seurantaan. Napauta kompassia suunnan palauttamiseksi pohjoiseen tai sijaintipainiketta keskittääksesi oman sijaintisi.

Kartan hallintapainikkeet

Reittipisteet

Reittipisteet ovat jaettuja maantieteellisiä kiinnostavia kohteita, jotka kaikki mesh-verkon jäsenet voivat nähdä.

Reittipisteen luominen

  1. Paina karttaa pitkään haluamassasi sijainnissa.
  2. Anna nimi ja valinnainen kuvaus.
  3. Valitse reittipisteelle kuvake tai emoji.
  4. Napauta Lähetä jakaaksesi sen verkkoon.

Reittipisteet osoitetaan kuten viestit: oletuksena ne lähetetään yleislähetyksenä ensisijaisella kanavalla, mutta reittipiste voidaan lähettää myös tietyllä kanavalla tai suoraviestinä yhdelle radiolle.

Reittipisteen ominaisuudet

Ominaisuus Kuvaus
Nimi Lyhyt tunniste (enintään 29 merkkiä)
Kuvaus Valinnainen pidempi kuvaus
Kuvake Visuaalinen merkkiemoji kartalla
Lukittu Jos lukittu, vain merkin luonut voi muokata tai poistaa sen
Voimassaoloaika Valinnainen automaattinen poistopäivä ja -aika
Aluerajaus Valinnainen aluerajaus saapumis- ja poistumisilmoituksille — katso alla

Reittipisteen vanheneminen

Reittipisteet voidaan asettaa vanhenemaan automaattisesti:

  • Ei koskaan (oletus) — reittipiste pysyy voimassa kunnes se poistetaan manuaalisesti
  • Ajastettu — valitse tietty päivämäärä ja kellonaika. Reittipiste poistetaan automaattisesti, kun kyseinen ajankohta on ohitettu. Hyödyllinen tilapäisille merkinnöille kuten kokoontumispaikat, vaarat tai tapaamispaikat.

Vanhentuneet reittipisteet piilotetaan automaattisesti kartalta, jotta näkymä pysyy selkeänä. Poistumisen ajastus perustuu valitsemaasi päivämäärään ja kellonaikaan, ei siihen, kuinka kauan reittipiste on ollut olemassa tai vastaanotettuna.

Reittipisteiden aluerajaukset

Mikä tahansa reittipiste voidaan määrittää myös aluerajaukseksi eli ilmoitusalueeksi, jolloin sinä tai muut käyttäjät saatte ilmoituksen, kun radio saapuu alueelle tai poistuu sieltä:

  1. Määritä aluerajauksen säde valmiista vaihtoehdoista (tai valitse Pois poistaaksesi toiminnon käytöstä), tai napauta Määritä alue kartalla piirtääksesi mukautetun suorakulmaisen alueen.
  2. Kun alue on määritetty, ota käyttöön Ilmoita saapuessa ja/tai Ilmoita poistuttaessa.
  3. Voit halutessasi ottaa käyttöön Vain suosikit -asetuksen, jolloin ilmoituksia näytetään vain suosikkiradioistasi.

Koska reittipisteet (ja niiden aluerajaukset) lähetetään koko mesh-verkkoon, oletusarvoisesti ilmoitukset saa vain niiden luoja. Jos joku jakaa kanssasi aluerajauksen sisältävän reittipisteen, sen tiedoissa voit ottaa käyttöön Ilmoita aluerajan ylityksistä -asetuksen, jolloin saat myös ilmoitukset alueelle saapumisesta ja sieltä poistumisesta.

Reittipisteiden hallinta

  • Napauta reittipistettä kartalla nähdäksesi sen tiedot ja koordinaatit
  • Muokkaa tai poista luomiasi reittipisteitä
  • Lukitut reittipisteet eivät ole muiden radioiden muokattavissa tai poistettavissa — vain alkuperäisen merkin luonut voi muuttaa niitä
  • Lukitsemattomia reittipisteitä voi muokata kuka tahansa mesh-verkon jäsen

Karttatasot

Napauta kartan karttatasokuvaketta avataksesi Hallitse karttatasoja -näkymän, jossa voit tuoda omia karttatasojasi .kml-, .kmz- tai GeoJSON-muodossa joko avaamalla tiedoston Meshtasticissa tai jakamalla sen sovellukseen toisesta sovelluksesta. Tuodut karttatasot näkyvät luettelossa, jossa voit näyttää tai piilottaa ne sekä poistaa ne. Tämä on käytettävissä sekä Google Play- että F-Droid-versioissa.

Site Planner

Site Planner arvioi lähettimen kuuluvuusalueen ja piirtää sen kartalle värikoodattuna peittoalueena. Avaa se kartan ohjaimista tai radion tiedoista Arvioi peittoalue -toiminnolla (näkyy vain radioille, joilla on tunnettu sijainti). Määritä lähettimen asetukset (sijainti, taajuus, lähetysteho, antennin vahvistus ja korkeus), vastaanottimen asetukset (herkkyys ja korkeus) sekä simuloinnin asetukset (enimmäisetäisyys, korkean tarkkuuden maastomalli ja väripaletti), ja käynnistä sitten arviointi. Karttatasojen tavoin myös Site Planner on käytettävissä sekä Google Play- että F-Droid-versioissa.

Sijainnin jakaminen

Sijainnin jakamisen käyttöönotto

Radiosi jakaa GPS-sijaintinsa seuraavilla tavoilla:

  • Kiinteä väli — sijainti lähetetään säännöllisin väliajoin
  • Älykäs sijainti — sijainti lähetetään, kun liike ylittää kynnyksen
  • Manuaalinen — sijainti jaetaan vain erikseen pyydettäessä

Määritä sijaintikäyttäytyminen kohdassa Asetukset → Sijainti.

Tietosuoja

🔒 Yksityisyys: sijaintitiedot lähetetään kaikille saman kanavan radioille. Jos et halua sijaintiasi jaettavan, poista GPS käytöstä asetuksista tai käytä kiinteää tai valesijaintia.

Karttalähteet

Kartan pohja riippuu sovellusversiosta: Google Play -versio käyttää Google Mapsia, kun taas F-Droid- ja työpöytäversiot käyttävät OpenStreetMapia. Pohjakartan lisäksi käytettävissä on muita karttatasoja peitekerroksina tai vaihtoehtoisina karttoina:

  • Satelliittikuvat (jos saatavilla)
  • Offline-kartat (lataa alueet offline-käyttöä varten)

Aiheeseen liittyvät aiheet

  • Radiot — tarkastele ja suodata radiolistaa
  • Radion mittarit — signaalin laatu ja sijaintihistoria yksittäisille radioille
  • Haku — reitinselvitys ja naapuritiedot mesh-verkon ymmärtämiseen
  • Yksiköt ja kieliasetukset — etäisyys- ja koordinaattien näyttömuodot


diff --git a/v2.8.0/fi-rFI/user/messages-and-channels.html b/v2.8.0/fi-rFI/user/messages-and-channels.html deleted file mode 100644 index 30cdd69428..0000000000 --- a/v2.8.0/fi-rFI/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Viestit ja kanavat | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Viestit ja kanavat

Meshtastic tukee kahta viestintätilaa: kanavaviestit ja suoraviestit.

Kanavat

Kanavat ovat jaettuja viestintäryhmiä. Kaikki radiot, jotka on määritetty samalla kanava-avaimella, voivat lukea ja lähettää viestejä kyseisellä kanavalla.

Oletuskanava

Jokaisessa Meshtastic-laitteessa on oletuksena LongFast-kanava. Tämä on salaamaton kanava yleiseen mesh-viestintään.

Kanavan turvallisuus

Kanavat tukevat useita salaustasoja:

Ikoni Suojaustaso Kuvaus
🔒 PSK (256-bittinen AES) Täysin salattu vahvalla esijaetulla avaimella. Vain samaa avainta käyttävät radiot voivat lukea viestejä.
🔐 PSK (128-bittinen AES) Salattu lyhyemmällä avaimella. Useimmille käyttötapauksille turvallinen, mutta 256-bittinen on suositeltu arkaluontoiseen dataan.
🔓 Oletus / avoin Käyttää tunnettua oletusavainta. Kaikki Meshtastic-radiot samalla esiasetuksella voivat lukea nämä viestit.
⚠️ Turvaton + sijainti Avoin kanava, joka lähettää myös GPS-sijaintisi. Käytä varoen julkisissa verkoissa.

🔒 Tietoturvavinkki: Käytä aina yksilöllistä PSK-avainta yksityiseen viestintään. Oletuskanava on tarkoituksella avoin, jotta uudet käyttäjät löytävät mesh-verkon — luo erillinen salattu kanava arkaluontoiselle viestinnälle.

Kanavan lisääminen

  1. Siirry kohtaan Asetukset → Kanavat.
  2. Napauta Lisää kanava tai skannaa QR-koodi.
  3. Määritä kanavan nimi ja salausavain.
  4. Jaa kanavan URL tai QR-koodi muille, jotka tarvitsevat pääsyn.

Napauttamalla kanavaa näet sen tiedot ja jakovaihtoehdot.

Yksityisviestit

Yksityisviestit (DM) ovat kahden radion välistä päästä päähän salattua viestintää.

Yksityisviestin lähettäminen

  1. Avaa Viestit-välilehti.
  2. Valitse radion yhteystiedoista tai napauta radiota radiolistasta.
  3. Kirjoita viesti ja napauta Lähetä.

Viestin tilat

Tilateksti näkyy vain omissa lähtevissä viesteissäsi (muiden lähettämissä saapuvissa viesteissä ei näytetä tilaa):

Tila Merkitys
Lähetetään… Jonossa tai jo siirretty radiolle, mutta lopullista tilaa ei ole vielä vahvistettu (jonossa ja lähetetään näyttävät molemmat tämän saman tekstin)
Toimitettu vastaanottajalle Vahvin mahdollinen vahvistus suoralle viestille — vastaanottokuittaus on saatu
Toimitettu mesh-verkkoon Kanavalähetyksessä viesti on saavuttanut mesh-verkon (kanavalähetyksille ei lähetetä vastaanottajakohtaista kuittausta)
Välitetty, mutta vastaanottaja ei ole vahvistanut vastaanottoa Suorassa viestissä tämä näytetään varoitusvärillä — viesti on välitetty eteenpäin, mutta vastaanottokuittausta ei ole vielä saatu
Reititetään SF++ ketjun kautta… Reititetty tai puskuroitu varastoi & välitä Plus Plus -ketjussa
Vahvistettu SF++-ketjussa Toimitus vahvistettu varastoi & välitä++ -ketjun kautta
Virhe Toimitus epäonnistui — napauta tilaa nähdäksesi tarkemman syyn (katso alla kohta toimitusvirheet)

Toimitusvirheet

Kun viestin toimitus epäonnistuu, virheilmaisin näyttää, mikä meni pieleen:

Virhe Merkitys Toimenpiteet
Ei reittiä Kohderadioon ei ole reittiä Vastaanottaja voi olla offline-tilassa tai verkon kantaman ulkopuolella. Yritä myöhemmin tai siirry lähemmäksi.
Hylkäyskuittaus vastaanotettu (NAK) Seuraavan hypyn radio kieltäytyi välittämästä Välittäjä-radio voi olla ruuhkautunut. Odota ja yritä uudelleen.
Aikakatkaisu Ei kuittausta uudelleenyritysten aikana Vastaanottaja voi olla kantaman ulkopuolella. Yritä nostaa hyppyrajaa tai siirtyä parempaan paikkaan.
Ei Käyttöliittymää Lähetykseen ei ole käytettävissä radioliitäntää Tarkista, että radio on yhdistetty ja kanava on määritetty.
Kaikki uudelleenyritykset käytetty Uudelleenyritysten enimmäismäärä saavutettu Mesh-reitti ei ole luotettava. Kokeile toista kanavaa tai odota olosuhteiden parantumista.
Ei Kanavaa Kohdekanavaa ei ole olemassa Varmista, että molemmilla radioilla on sama kanavakonfiguraatio.
Liian suuri Viesti ylittää sallitun enimmäiskoon Lyhennä viestisi (enintään noin 200 merkkiä).
Ei vastausta Radio vastaanotti viestin mutta ei vastannut Vastaanottajan radio voi olla varattu tai virransäästötilassa.
Käyttöasteen rajoitus Alueellinen lähetysajan raja saavutettu Radiosi on käyttänyt sallitun lähetysajan. Odota, että käyttöasteen rajoituksen ikkuna nollautuu (tyypillisesti 1 tunti EU-alueilla).
Virheellinen pyyntö Viallinen tai virheellinen viesti Tämä yleensä viittaa ohjelmistovirheeseen. Kokeile käynnistää sovellus uudelleen.

💡 Vinkki: Useimmat toimitusvirheet korjaantuvat itsestään. Jos radio on ajoittain tavoitettavissa, mesh yrittää uudelleen. Jos “Ei reittiä” -virhe toistuu, tarkista että välissä olevat reitittävät radiot ovat verkossa.

Viestiominaisuudet

Pikachatti

Valmiiksi määritetyt viestit nopeaan viestintään:

  • Käytettävissä viestikentän Pikachatti-painikkeen kautta
  • Valitse valmiista sisäänrakennetuista viesteistä tai omista viesteistä
  • Muokkaa pikachatti-viestejä kohdassa Asetukset → Pikachatti
  • Hyödyllinen, kun kirjoittaminen on hankalaa (hanskat, pieni näyttö, kiire)

Pikachatti-vaihtoehto

Jokaisella pikaviestillä on lyhyt Nimi (painikkeen teksti), lisättävä Viesti sekä Lähetä heti -kytkin. Kun se on käytössä, painikkeen napauttaminen lähettää viestin välittömästi sen sijaan, että se lisättäisiin muokattavaksi syöttökenttään:

Uusi pikakeskusteluviestin valintaikkuna, jossa näkyvät nimi, viesti ja Lähetä heti -kytkin

Kanavalista näyttää jokaisen kanavan ja sen viimeisimmän viestin esikatselun.

Viestien haku

Voit hakea koko keskusteluhistorian suoraan chat-näkymästä:

  1. Avaa keskustelu (kanava tai suoraviesti).
  2. Napauta hakukuvaketta yläpalkissa.
  3. Kirjoita Etsi viestejä -kenttään. Haku toimii kirjoittaessa ja käy läpi kaikki tallennetut viestit kyseisessä keskustelussa.
  4. Käytä N / M -laskuria ja edellinen/seuraava -nuolia siirtyäksesi osumien välillä, jotka on korostettu keskustelussa.

Viestihaku-palkki tuloslaskurilla ja nuolilla

💡 Vinkki: Haku on täystekstihaku ja toimii vain siinä keskustelussa, josta avasit sen — se ei hae muista kanavista tai kontakteista. Se hakee osumat laitteellesi jo tallennetuista viesteistä, joten se toimii täysin offline-tilassa.

Viestikuplat

Viestit näkyvät chat-kuplina — lähetetyt viestit oikealla, vastaanotetut vasemmalla. Jokainen kupla näyttää lähettäjän, aikaleiman ja toimitustilan. Vastaukselliset viestit sisältävät alkuperäisen viestin esikatselun vastauksen yläpuolella.

Tekstin muotoilu

Viestit tukevat kevyttä rivinsisäistä Markdown-muotoilua. Vastaanotetut viestit näyttävät muotoilun ilman Markdown-syntaksimerkkejä:

Kirjoita Syntaksi Näkyy muodossa
Lihavoitu lihavoitu lihavoitu
Kursivoitu *kursivoitu* kursivoitu
Yliviivattu ~~yliviivattu~~ yliviivattu
Rivinsisäinen koodi `koodi` tasalevyinen koodi
Linkki [nimi](https://example.com) napautettava nimi

Kun kirjoitat viestiä, napauta viestikenttää ja kirjoita vähintään kolme merkkiä, niin kentän alle avautuu muotoilutyökalurivi. Valitse teksti ja napauta muotoilua lisätäksesi sen ympärille merkinnät (napauta uudelleen poistaaksesi ne). Jos tekstiä ei ole valittuna, muotoilu lisää tyhjän merkkiparin ja sijoittaa kohdistimen niiden väliin. Linkkipainike avaa valintaikkunan URL-osoitteen syöttämistä varten. Kirjoittaessasi luonnoksen muotoilu näkyy kentässä, vaikka taustalla oleva teksti säilyttää Markdown-merkit.

💡 Vinkki: Muotoilu välitetään mesh-verkossa kirjaimellisina merkkeinä – samoina tavuina, jotka iOS lähettää. Sovellukset, jotka eivät tue Markdownia (vanhemmat sovellukset ja pelkkää laiteohjelmistoa käyttävät laitteet), näyttävät alkuperäiset **- ja ~~-merkit. URL-osoitteet, sähköpostiosoitteet ja puhelinnumerot muutetaan edelleen automaattisesti linkeiksi riippumatta siitä, käytätkö Markdownia.

Maininnat

Kirjoita viestiä laatiessasi @ mainitaksesi radion — valitsin ehdottaa kirjoittaessasi vastaavia yhteystietoja. Vastaanotetussa viestissä maininta näkyy korostettuna tunnisteena, jossa näkyy radion nimi. Napauta sitä siirtyäksesi suoraan kyseisen radion tietosivulle.

Reaktiot

Reagoi viesteihin emojeilla:

  • Pitkä painallus viestissä avaa toimintovalikon
  • Napauta Lisää reaktio valitaksesi emojin
  • Reaktiot näkyvät viestin alapuolella
  • Useampi käyttäjä voi reagoida samaan viestiin
  • Voit reagoida omiin ja muiden viesteihin

Emoji-reaktiot viestin alla

💡 Vinkki: Reaktiot kuluttavat vain vähän mesh-verkon kaistaa verrattuna täysiin tekstiviesteihin.

Viestitoiminnot

Pitkä painallus missä tahansa viestissä avaa:

  • Kopioi — kopioi viestin teksti leikepöydälle
  • Vastaa — lainaa viesti vastaukseesi
  • Reagoi — lisää emoji-reaktio
  • Käännä — kääntää vastaanotetun viestin laitteesi kielelle ja mahdollistaa vaihtamisen alkuperäisen ja käännetyn tekstin välillä (vain Google Play -versiossa; käyttää laitteella toimivaa käännöstä)
  • Poista — poista lähettämäsi viesti (paikallinen poisto)

Viestien prioriteetti

Viestit jonotetaan ja lähetetään prioriteetin mukaan:

  1. Hätä ja hälytysviestit (korkein)
  2. Suoraviestit
  3. Kanavaviestit (alin prioriteetti)

Viestirajoitukset

  • Enimmäispituus: 200 tavua (noin 200 merkkiä ASCII-tekstille)
  • 200 tavun rajoitus koskee vain sovelluksen viestinkirjoituskenttää. Mesh-verkon viestin enimmäiskoko on noin 233 tavua, joten muilta lähettäjiltä (esimerkiksi sovellustoiminnoista tai Android Autosta) tulevat viestit voivat olla hieman pidempiä
  • Rajoitusnopeus: mesh-verkko tasaa lähetysajan oikeudenmukaisesti; suuri viestimäärä voi joutua rajoitetuksi
  • Toimitus: viestit yritetään lähettää uudelleen automaattisesti, jos kuittausta ei saada

Parhaat käytännöt

  • Käytä kanavia ryhmäviestintään
  • Käytä suoraviestejä kahden käyttäjän väliseen yksityiseen viestintään
  • Pidä viestit lyhyinä — mesh-verkon kaistanleveys on rajallinen
  • Määritä salaus arkaluontoiselle viestinnälle

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/mqtt.html b/v2.8.0/fi-rFI/user/mqtt.html deleted file mode 100644 index 6435906f77..0000000000 --- a/v2.8.0/fi-rFI/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

MQTT

MQTT yhdistää Meshtastic-mesh-verkkosi internetiin ja mahdollistaa pitkän kantaman viestinnän radioalueen ulkopuolella.

Yleiskatsaus

MQTT-moduuli yhdistää radion MQTT-välityspalvelimeen, mahdollistaen:

  • Viestien välittymisen eri fyysisten mesh-verkkojen välillä internetin kautta
  • Integraation kotiautomaatio- ja valvontajärjestelmiin
  • Radioiden sijaintien julkaisemisen julkiseen Meshtastic-karttaan
  • Mukautetut dataputket tiedonkeruuta ja hälytyksiä varten

Kuinka se toimii

[Oma radiot] → Radio → Gateway-radio WiFi:llä → MQTT-välityspalvelin → Etä-gateway → Radio → Etä-radio
-

Internet-yhteydellinen gateway-radio (WiFi tai Ethernet) julkaisee mesh-viestit MQTT-aiheeseen. Etä-yhdyskäytävät, jotka ovat tilanneet saman aiheen, syöttävät viestit omaan paikalliseen mesh-verkkoonsa.

Asetukset

MQTT:n käyttöönotto

  1. Siirry kohtaan Asetukset → Moduulin asetukset → MQTT.
  2. Ota MQTT-moduuli käyttöön.
  3. Määritä välityspalvelimen yhteys:

MQTT kytkin

Asetus Kuvaus Oletus
Palvelimen osoite MQTT-välityspalvelimen osoite mqtt.meshtastic.org
Käyttäjänimi Välityspalvelimen tunnistautuminen meshdev
Salasana Välityspalvelimen tunnistautuminen large4cats
Juuriaihe Viestien perusaihe msh
Salaus MQTT-viestisisällön salaus Käytössä
JSON Output ⚠️ Poistettu käytöstä — JSON-pakettituki on poistettu firmwaresta; tämä kenttä jätetään huomiotta Ei käytössä
TLS Yhteyden suojaaminen välityspalvelimeen Ei käytössä
Karttaraportointi Sijainnin julkaisu julkiselle kartalle Ei käytössä

MQTT-välityspalvelin tässä puhelimessa

Jos radiollasi ei ole omaa internetyhteyttä, se voi käyttää yhdistettyä puhelinta MQTT-yhdyskäytävänään. Ota käyttöön MQTT ja Proxy to client enabled moduulin asetuksista, jolloin sovellus välittää MQTT-liikenteen radion ja välityspalvelimen välillä puhelimen internetyhteyden kautta.

MQTT-asetusten yläreunassa oleva MQTT-välityspalvelin tässä puhelimessa -kytkin näyttää, onko tämä välitys käytössä, ja sen avulla voit poistaa sen käytöstä (tai käynnistää sen uudelleen) heti ilman, että laitteen MQTT-asetuksia tarvitsee muokata ja tallentaa uudelleen.

Oletus Meshtastic-välityspalvelin

Yhteisö ylläpitää julkista välityspalvelinta osoitteessa mqtt.meshtastic.org. Tämä on tarkoitettu yleiseen käyttöön ja testaukseen.

ℹ️ Huomautus: Yhteydet palvelimeen mqtt.meshtastic.org käyttävät aina TLS-salausta (portti 8883), vaikka TLS-kytkin olisi poistettu käytöstä. Kaikkien muiden välityspalvelimien kohdalla TLS-salausta käytetään vain, kun otat sen käyttöön (TLS:llä portti 8883, ilman TLS:ää portti 1883).

🔒 Tietosuoja: Julkisen välityspalvelimen viestit ovat kaikkien tilaajien luettavissa. Käytä aina kanavasalausta yksityiseen viestintään.

Oma välityspalvelin

Parempaa yksityisyyttä ja hallintaa varten voit käyttää omaa MQTT-välityspalvelinta:

  • Mosquitto (kevyt, avoimen lähdekoodin)
  • HiveMQ
  • EMQX

Määritä radiosi osoittamaan omaan välityspalvelimeesi oikeilla tunnistetiedoilla.

Karttaraportointi

Kun karttajako (Map Reporting) on käytössä, radiosi julkaisee sijaintinsa Meshtastic-yhteisökartalle:

  • Näkyvissä osoitteessa meshmap.net ja vastaavissa yhteisökarttapalveluissa
  • Jaetaan vain sijainti- ja laitetiedot
  • Poista käytöstä, jos et halua sijaintisi näkyvän julkisesti

Lähetys vs vastaanotto

Suunta Kuvaus
Lähetys Viestit mesh-verkosta → MQTT-välityspalvelimeen
Vastaanotto Viestit MQTT-välityspalvelimesta → mesh-verkkoon

Määritä kanavakohtaisesti, mitkä suunnat ovat käytössä viestiliikenteen ja lähetysajan käytön hallintaan.

Viestiformaatit

MQTT käyttää protobuf-viestimuotoa:

Muoto Kuvaus Käyttötarkoitus
Protobuf Binäärinen Meshtastic protobuf -enkoodaus Radioiden välinen mesh-siltaus

⚠️ Huom: JSON-ulostulotuki on poistettu firmwaresta. json_enabled-asetus näkyy yhä sovelluksessa taaksepäinyhteensopivuuden vuoksi, mutta sillä ei ole vaikutusta nykyisissä firmware-versioissa.

Salaus ja yksityisyys

Kerrostetun salausmallin ymmärtäminen:

  1. Kanavasalaus tapahtuu meshissä ennen MQTT:tä. Jos kanavallasi on PSK, MQTT-viestisisältö on jo salattu — välityspalvelin ja tilaajat näkevät vain salatun datan.
  2. MQTT-salaus (moduuliasetus) lisää ylimääräisen salauskerroksen matkalla välityspalvelimelle. Tämä suojaa metatietoja ja reititystietoja.
  3. TLS salaa TCP-yhteyden itse välityspalvelimeen estäen verkkotason salakuuntelun.

🔒 Tärkeää: julkisella oletuskanavalla on tunnettu avain. Oletuskanavan MQTT:n kautta lähetetyt viestit ovat käytännössä salaamattomia — kuka tahansa tilaaja voi purkaa ne. Käytä aina omaa PSK-avainta yksityiseen viestintään.

Parhaat käytännöt

  • Käytä kanavatasoista salausta (PSK) kanavissa, jotka yhdistetään MQTT:hen
  • Älä ota MQTT:tä käyttöön laitteissa, joilla ei ole internet-yhteyttä (se puskuroidaan ja kuluttaa muistia)
  • Käytä yksityistä välityspalvelinta arkaluonteisissa käyttöönotossa
  • Ole tarkkana lähetysajan (downlink) käyttämisessä ruuhkaisissa MQTT-aiheissa — jokainen viesti kuluttaa radio-aikaa paikallisessa meshissä
  • Harkitse lähetyssuunnan vaihtamista (uplink), jos haluat vain seurata verkkoa etänä ilman viestien lähettämistä verkkoon

Vianetsintä

MQTT ei yhdistä

  • Tarkista WiFi — yhdyskäytävän radiolla täytyy olla aktiivinen internet-yhteys (WiFi tai Ethernet). MQTT ei toimi LoRa-radiolinkin kautta.
  • Tarkista tunnukset — väärä käyttäjänimi tai salasana epäonnistuu useimmilla välityspalvelimilla hiljaisesti Tarkista ylimääräiset välilyönnit
  • Palomuuri — portti 1883 (MQTT) tai 8883 (MQTT+TLS) täytyy olla auki. Jotkin verkot estävät ei-standardit portit.
  • DNS-ratkaisu – jos käytät omaa välityspalvelimen isäntänimeä, varmista että laite pystyy ratkaisemaan sen. Kokeile välityspalvelimen IP-osoitetta suoraan.

Viestit eivät välity

  • Tarkista lähetys ja vastaanotto-asetukset – jos vain lähetys on käytössä, viestit kulkevat meshistä MQTT:hen mutta eivät takaisin. Ota vastaanotto käyttöön vastaanottavassa yhdyskäytävän laitteessa.
  • Kanava ei täsmää – molempien gateway-laitteiden täytyy käyttää samaa kanavaa ja samaa PSK-avainta. Eroavaisuus tarkoittaa, että viestit on salattu eri avaimilla ja näyttävät roskalta.
  • Aihe ei täsmää – varmista, että molemmat yhdyskäytävät käyttävät samaa juuriaihetta (Root Topic). Oletus msh toimii julkisessa välityspalvelimessa.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/node-metrics.html b/v2.8.0/fi-rFI/user/node-metrics.html deleted file mode 100644 index e6d4a66870..0000000000 --- a/v2.8.0/fi-rFI/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Radion mittarit | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Radion mittarit

Radion tietonäyttö tarjoaa kattavat telemetria- ja mittaritiedot jokaiselle verkon radiolle.

Laitteen mittausloki

Perustoimintatiedot, jotka jokainen radio raportoi:

Metrijärjestelmä Kuvaus
Akun varaustaso Nykyinen akun varaustaso
Jännite Akun jännitelukema
Kanavan Käyttö Käytetyn lähetysajan käyttöasteen prosenttiosuus
Lähetysaika Tämän radion käyttämä lähetysaika
Käyttöaika Aika viimeisestä uudelleenkäynnistyksestä

Laitemittarit näytetään erillisinä kortteina, joissa trendikäyrät esittävät akun varaustason, jännitteen, kanavan käyttöasteen, käyttöasteen ja käyttöajan kehitystä ajan kuluessa.

💡 Vinkki: Napauta mitä tahansa mittarikorttia laajentaaksesi sen täydelliseksi kaavioksi, jossa näkyvät historiatiedot. Nipistä lähentääksesi tai loitontaaksesi aika-akselia.

Ympäristöarvot

Ympäristöanturien tiedot (edellyttää yhteensopivaa laitteistoa):

Metrijärjestelmä Anturiesimerkkejä
Lämpötila BME280, BME680, SHT31
Kosteus BME280, BME680, SHT31
Barometrinen paine BME280, BMP280
Kaasuvastus BME680
IAQ (ilmanlaatu) BME680

Ympäristömittarit esitetään kaavioina ajan kuluessa tapahtuvan trendianalyysin helpottamiseksi — lämpötila, kosteus ja ilmanpaine saavat kukin oman viivakaavionsa, jossa mittayksikkö näkyy Y-akselilla.

BME680:n IAQ (Indoor Air Quality) -indeksi on yksi arvo väliltä 0–500+, joka perustuu kaasun resistanssiin. Se näytetään värikoodatulla asteikolla välillä Erinomainen–Vaarallisen saastunut:

IAQ-indeksin asteikko välillä Erinomainen–Vaarallisen saastunut

💡 Vinkki: Ympäristömittarit edellyttävät etäradioon liitettyä anturia. Kaikki radiot eivät raportoi ympäristötietoja. Katso Telemetria ja anturit saadaksesi täydellisen luettelon tuetuista antureista.

Ilmanlaatumittarit

Ilmanlaatu on erillinen mittarinäkymä radioille, joissa on hiukkas- ja/tai CO₂-anturi. Se on erillinen BME680:n IAQ-lukemasta, joka on lueteltu ympäristömittareissa — IAQ on yksittäinen kaasuvastukseen perustuva indeksi, kun taas ilmanlaatunäkymä esittää varsinaiset hiukkas- ja CO₂-mittaukset kaavioina.

Metrijärjestelmä Yksikkö Kuvaus
PM1.0 µg/m³ Enintään 1,0 mikrometrin kokoiset hiukkaset
PM2.5 µg/m³ Enintään 2,5 mikrometrin kokoiset hiukkaset
PM10 µg/m³ Enintään 10 mikrometrin kokoiset hiukkaset
AQI EPA-indeksi EPA:n NowCast-AQI, joka lasketaan viimeaikaisesta PM2.5-historiastasi ja esitetään värikoodatulla ilmanlaadun luokituksella. Näytetään PM2.5-arvon yhteydessä, kun mittauksia on kertynyt riittävästi.
CO₂ ppm Hiilidioksidipitoisuus
CO₂ lämpötila °C / °F CO₂ anturin ilmoittama lämpötila (esim. SCD4x)
CO₂ kosteus % CO₂ anturin ilmoittama suhteellinen ilmankosteus

CO₂-lukemat on värikoodattu vakavuusasteen mukaan, jotta ilmanlaadun arviointi onnistuu yhdellä silmäyksellä:

Taajuusalue CO₂-pitoisuus (ppm) Väri
Hyvä < 1000 Vihreä
Tunkkainen < 2000 Keltainen
Huono < 5000 Oranssi
Vaarallinen < 30000 Punainen
Evakuoi ≥ 30000 Tummanpunainen

Ilmanlaatulukemat värikoodatulla CO₂-vakavuusasteella

Ilmanlaatu tai mittaripainike näkyy radion tietonäytössä vain silloin, kun radio on raportoinut ilmanlaatutelemetriaa. Ilmanlaatu-näkymässä voit:

  • Valita kaavioille aikajakson.
  • Suodattaa mittarisiruilla — vain mittarit, joista on dataa, näytetään.
  • Päivittää ja pyytää uusimmat ilmanlaatutelemetriatiedot.
  • Viedä CSV-tiedostoon analysoitavaksi taulukkolaskentaohjelmassa.

💡 Vinkki: Ilmanlaatumittarit edellyttävät yhteensopivaa ilmanlaatuanturia etäradiossa. Jos radiossa ei ole hiukkas- tai CO₂-anturia, ilmanlaatupainiketta ei näytetä. Katso Telemetria ja anturit saadaksesi lisätietoja tuetusta laitteistosta.

Signaalin voimakkuudet

Radiosignaalin laatutiedot:

Metrijärjestelmä Kuvaus
SNR Signaali-kohinasuhde (suurempi SNR on parempi)
RSSI Vastaanotetun signaalin voimakkuusindikaattori (RSSI) (lähempänä nollaa on parempi)
Kohinataso Paikallinen taustakohina dBm-arvona (negatiivisempi on hiljaisempi)
Hyppylaskuri Verkon hyppymäärä viimeisimmälle viestille

Signaalin laadun viitearvot

Signaalin laatu arvioidaan SNR-arvon perusteella suhteessa käytössä olevan LoRa-modeemiesiasetuksen demodulaation alarajaan, ei kiinteiden raja-arvojen perusteella. Sama SNR-arvo voi tarkoittaa eri asioita eri esiasetuksilla (esim. -15 dB on hyvä LongSlow-esiasetuksella, mutta käyttökelvoton ShortFast-esiasetuksella). RSSI näytetään, mutta sitä ei käytetä arvioinnissa. Jos raja tarkoittaa esiasetuksen SNR-rajaa:

Laatu Kriteerit
Hyvä SNR esiasetuksen rajan yläpuolella
Kohtalainen alle 5,5 dB rajan alapuolella
Huono 5,5–7,5 dB rajan alapuolella
ei mitään yli 7,5 dB rajan alapuolella

Katso Signaalimittarin toiminta, jos haluat täydellisen selityksen.

Yhdistetyn radion paikalliset tilastot näytetään myös Signaalin laatu -näkymässä silloin, kun ne ovat saatavilla. Nämä kerätyt tiedot sisältävät kohinatason, liikennelaskurit, välityslaskurit, verkossa olevien radioiden määrän sekä radion käyttöajan. Kohinatason kaaviossa käytetään katkoviivalla merkittyä viiteviivaa arvossa -85 dBm, jotta kuormittunut RF-ympäristö on helpompi tunnistaa. Käytä Pyydä-painiketta pyytääksesi yhdistetystä radiosta tuoreen Paikalliset tilastot -telemetriaraportin, Tyhjennä-painiketta poistaaksesi Paikalliset tilastot -lokit kyseiseltä radiolta ja Tallenna-painiketta viedäksesi näkyvän Paikalliset tilastot -historian CSV-tiedostoksi.

Virranhallinnan arvot

Virranhallintatelemetria (edellyttää INA-anturia tai yhteensopivaa laitteistoa):

Metrijärjestelmä Kuvaus
Väyläjännite Syöttöjännite
Virta Virrankulutus milliampeereina
Virta Laskennallinen teho

Reitinselvitys

Reitinselvitys näyttää viestin kulkeman reitin verkossa:

  1. Napauta radion tietonäytössä Reitinselvitys.
  2. Sovellus lähettää reitinselvityspyynnön kohderadiolle.
  3. Tulokset näyttävät jokaisen hypyn SNR- ja RSSI-arvoineen.

Reitinselvityksen tulosten lukeminen

Sinä → Radio A (SNR: 8.5) → Radio B (SNR: 5.2) → Kohde
-

Jokainen hyppy edustaa välitysradiota, joka välitti viestin eteenpäin.

Sijainnin Loki

Historialliset sijaintitiedot radioille, jotka jakavat sijaintinsa:

  • GPS-koordinaatit
  • Korkeus
  • Nopeus (jos radio liikkuu)
  • Aikaleima jokaiselle sijaintiraportille

Naapuritieto

Näyttää, mitkä radiot tietty radio voi kuulla suoraan, mikä auttaa ymmärtämään verkon topologiaa.

Mittareiden tarkastelu

  1. Siirry kohtaan Radiot.
  2. Napauta radiota, jota haluat tarkastella.
  3. Valitse mittariluokka tietonäytön välilehdistä.

Radion tietonäyttö – paikallinen laite

Sijainti-välilehti näyttää sijaintitiedot radioille, jotka jakavat GPS-sijaintinsa:

Sijaintivälilehden sisältö

⚠️ Huomautus: Mittarit ovat käytettävissä vain, jos etäradio on raportoinut ne. Mittarit päivittyvät kunkin radion telemetria-asetuksissa määritetyin väliajoin.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/nodes.html b/v2.8.0/fi-rFI/user/nodes.html deleted file mode 100644 index 8f30a101c9..0000000000 --- a/v2.8.0/fi-rFI/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Laitteet | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Laitteet

Radiot-näyttö näyttää kaikki verkossasi näkyvät laitteet.

Radiolista

Radioluettelo näyttää kaikki radiot, joista radiosi on vastaanottanut tietoja, mukaan lukien:

  • Radion nimi — käyttäjän määrittämä pitkä nimi
  • Lyhyt nimi — 4-merkkinen tunniste
  • Signaalin laatu — viimeksi vastaanotetun signaalin voimakkuus
  • Viimeksi kuultu — aika viimeisimmästä yhteydestä
  • Etäisyys — arvioitu etäisyys (jos sijaintitiedot jaetaan)
  • Akku — etäradion akun varaustaso (jos telemetria on käytössä)

Radion tilailmaisimet

Tunniste Tarkoitus
🟢 Verkossa Radio kuultu viimeisen 2 tunnin aikana
Ei verkkossa Radiosta ei ole kuultu yli 2 tuntiin
⭐ Suosikki Käyttäjän suosikiksi merkitsemä radio

Radio katsotaan verkossa olevaksi, jos siitä on kuultu viimeisten 2 tunnin aikana. Muussa tapauksessa se katsotaan poissa verkosta olevaksi — erillistä “poissa”-tilaa ei ole.

Radion roolit

Radioille voidaan määrittää erilaisia rooleja, jotka vaikuttavat niiden toimintaan verkossa:

Rooli Kuvaus
Client Tavallinen loppukäyttäjän laite
Client Base Käsittelee suosikkiradioiden liikenteen Router Late -prioriteetilla, kaiken muun liikenteen Client -prioriteetilla
Client Mute Vastaanottaa viestejä, mutta ei lähetä niitä edelleen
Client Hidden Kuten Client Mute, mutta piilotetaan myös radioluettelosta
Router Priorisoi viestien välittämistä; pysyy hereillä välittääkseen viestejä
Router Late Infrastruktuuriradio, joka lähettää viestin uudelleen kerran, mutta vasta kaikkien muiden tilojen jälkeen (tarjoaa lisäpeittoa)
Router Client ⚠️ Vanhentunut (poistettu laiteohjelmistossa 2.3.15) — ei enää valittavissa; käytä sen sijaan Router- tai Client-roolia
Repeater ⚠️ Vanhentunut (poistettu laiteohjelmistossa 2.7.11) — ei enää valittavissa; käytä sen sijaan Router-roolia
Tracker Optimoitu sijainnin raportointiin säännöllisin väliajoin
Sensor Optimoitu telemetrian raportointiin
TAK Yhteensopiva TAK-järjestelmien kanssa (lähettää ja vastaanottaa CoT-viestejä)
TAK Tracker Vain TAK-sijainnin raportointi
Kadonnut ja löydetty Jatkuva sijaintimajakka löytämistä varten

Roolin valitseminen

Useimpien käyttäjien kannattaa käyttää oletusarvoista Client-roolia. Harkitse muuta roolia seuraavissa tilanteissa:

  • Router — Sinulla on radio kiinteässä, korkealla sijaitsevassa paikassa, jossa on luotettava virransyöttö (katto, mäki). Routerit pysyvät jatkuvasti hereillä välittääkseen muiden viestejä ja ovat tärkeitä verkon peittoalueen laajentamisessa. Älä käytä Router-roolia akkukäyttöisissä käsilaitteissa.
  • Router Late — Infrastruktuuriradio, joka lähettää paketit uudelleen kerran, mutta vasta kaikkien muiden reititystilojen jälkeen. Tarjoaa lisäpeittoa paikallisille ryhmille kilpailematta ensisijaisten Routerien kanssa.
  • Client Base — Käsittelee suosikkiradioihisi menevän tai niistä tulevan liikenteen Router Late -prioriteetilla (varmistaen näille viesteille ylimääräisen välityspeiton), samalla kun kaikki muu käsitellään tavallisen Client-roolin tavoin.
  • Client Mute — Voit vastaanottaa verkkoliikennettä, mutta et osallistu viestien välittämiseen. Hyödyllinen vain valvontaan käytettäville laitteille tai ruuhkien vähentämiseen tiheästi rakennetuilla alueilla.
  • Tracker — Valvomaton laite, jonka ainoa tarkoitus on lähettää GPS-sijaintiaan (esim. ajoneuvo, lemmikki tai omaisuus). Nukkuu lähetysten välillä akun säästämiseksi.
  • Sensor — Valvomaton laite, joka raportoi ympäristötelemetriaa (lämpötila, kosteus, ilmanlaatu). Samanlainen virrankulutusprofiili kuin Tracker-roolissa.
  • TAK / TAK Tracker — Tarvitaan vain yhteensopivuuteen ATAK-/WinTAK-järjestelmien kanssa. Katso TAK-integraatio lisätietoja varten.

💡 Vinkki: Verkko toimii parhaiten, kun suurin osa radioista käyttää Client- tai Router-roolia. Liian suuri määrä Client Mute -rooleja heikentää verkon toimintavarmuutta, kun taas liian suuri määrä Router-rooleja tiheässä verkossa voi aiheuttaa ruuhkaa. Hyvä nyrkkisääntö on yksi Router jokaista 5–10 Client-roolia kohden alueellasi.

Salausilmaisimet

Radiot näyttävät nimensä vieressä salauksen tilaa kuvaavat kuvakkeet:

Kuvake Merkitys
🔒 Lukittu Yhteys käyttää PKI:tä (julkisen avaimen infrastruktuuria) — päästä päähän salattu ja varmennetulla identiteetillä suojattu.
🔓 Lukitsematon Yhteys käyttää PKI:tä (julkisen avaimen infrastruktuuria) — päästä päähän salattu ja varmennetulla identiteetillä suojattu.
⚠️ Ei täsmää Julkinen avain ei täsmää — radion avain on muuttunut viime näkemän jälkeen (tutki ennen luottamista).

💡 Vinkki: PKI-salaus (laiteohjelmisto 2.5+) tarjoaa vahvemman suojauksen kuin kanavan PSK-avain, koska jokaisella radiolla on oma yksilöllinen avainparinsa. Jos näet avaimen täsmäämättömyysvaroituksen, radio on voitu nollata tai sen tietoturva on voinut vaarantua.

Pikatoiminnot

Radioluettelosta voit:

  • Napauttaa radiota avataksesi sen tietosivun
  • Pitkä painallus pikatoimintoja varten:
    • Merkitse tai poista suosikki
    • Mykistä tai poista mykistys ilmoituksista
    • Lähetä yksityisviesti
    • Reitinselvitys
    • Ohita tai poista ohitus
    • Poista laite

Suodatus ja lajittelu

Tekstihaku

Kirjoita hakukenttään suodattaaksesi radioita nimen tai lyhyen nimen perusteella. Suodatus päivittyy reaaliajassa kirjoittaessasi.

Suodatusvalinnat

Suodatus Kuvaus
Vain verkossa olevat Näytä vain radiot, joista on kuultu viimeisten 2 tunnin aikana
Vain suorat Näytä vain radiot, joihin on suora yhteys (ei välitetty yhteys)
Näytä tuntemattomat Näytä radiot, jotka eivät ole vielä lähettäneet käyttäjätietoja
Ohita infrastruktuurilaitteet Piilota infrastruktuuriroolit (Router, Router Late, Client Base)
Rajaa MQTT pois Piilottaa radiot, joista on kuultu vain MQTT-internetsillan kautta
Näytä vain huomioimattomat radiot Näytä radiot, jotka olet aiemmin ohittanut tai mykistänyt

Lajitteluvaihtoehdot

Lajittelu Kuvaus
Viimeksi kuultu (oletus) Näytä viimeksi kuullut radiot ensin
Aakkosjärjestys Lajiteltu radion pitkän nimen mukaan
Etäisyys Lähimpänä olevat radiot ensin (edellyttää sijainnin jakamista)
Hyppyjä Vähiten välityshyppyjä vaativat radiot ensin
Kanava Ryhmitelty kanavaindeksin mukaan
MQTT:n kautta Ryhmitelty MQTT:n kautta kuultuihin ja radiolla kuultuihin
Suosikkien kautta Suosikkiradiot ensin

Radiot hyppymäärän mukaan

Avaa pylväskaavio, joka näyttää radioiden määrän kullakin hyppyetäisyydellä, napauttamalla radioluettelon sovelluspalkissa olevaa hyppyhistogrammikuvaketta (0 = suora yhteys, 1 = yksi välityshyppy ja niin edelleen). Suodata kaavio Viimeksi kuultu -ajanjakson mukaan — Kaikki ajat, 1 tunti, 8 tuntia tai 24 tuntia — nähdäksesi, miltä mesh-verkko näyttää juuri nyt verrattuna pidempään ajanjaksoon. Tämä on nopea tapa arvioida, kuinka laaja ja kuormittunut paikallinen mesh-verkkosi on.

Radion tiedot

Radion napauttaminen avaa tietonäkymän, jossa on kattavat tiedot. Katso Radion mittarit saadaksesi täydelliset tiedot mittareista ja telemetriasta.

Radion tietonäkymä

Tietonäyttö sisältää laitetiedot, sijainnin ja toimintopainikkeet:

Radion tietonäkymän osio

Rivinsisäiset tilailmaisimet näyttävät tärkeimmät tiedot yhdellä silmäyksellä:

Ilmaisin Kuvakaappaus
Signaalin laatu Signaali
Akun varaus Akku
Hyppymäärä Hypyt
Viimeksi kuultu Viimeksi kuultu
Etäisyys Etäisyys

Laite-linkit (“Haluan sellaisen”)

Kun radion laitteisto tunnistetaan, tietonäkymä näyttää avattavan “Haluan sellaisen” -osion, jossa on linkkejä laitteen ostamiseen tai lisätietojen hankkimiseen: valmistajan tuotesivu, tuoteversiot sekä alueelliset kauppapaikkalistaukset (esim. AliExpress, Amazon ja tuetut jälleenmyyjät), suodatettuna maasi mukaan. Jokainen linkki avautuu mesh.to -uudelleenohjauspalvelun kautta. Laitteet, joille ei löydy vastaavia linkkejä, eivät näytä tätä osiota.

Kaikkien linkkien selattava hakemisto löytyy myös kohdasta Asetukset → Ohje ja dokumentaatio → Laitelinkit.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/onboarding.html b/v2.8.0/fi-rFI/user/onboarding.html deleted file mode 100644 index a6f8d731f8..0000000000 --- a/v2.8.0/fi-rFI/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Aloittaminen | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Aloittaminen

Tervetuloa Meshtasticiin! Tämä opas opastaa sinut Meshtastic Android -sovelluksen alkuasetusten läpi.

Ensimmäinen käynnistys

Kun avaat sovelluksen ensimmäistä kertaa, sinut ohjataan käyttöönottoprosessin läpi, joka auttaa määrittämään tarvittavat käyttöoikeudet ja asetukset. Voit suorittaa jokaisen vaiheen järjestyksessä tai ohittaa ne ja määrittää käyttöoikeudet myöhemmin Androidin asetuksissa.

Aloitusnäkymä

Tervetulonäyttö esittelee Meshtasticin ja sen tärkeimmät ominaisuudet:

  • Matkapuhelinverkosta riippumaton mesh-viestintä
  • Ei vaadi matkapuhelinverkkoa tai internetyhteyttä
  • Päästä päähän salattu viestintä

Napauta “Aloita” jatkaaksesi käyttöönottoprosessia.

Tervetulonäyttö

Käyttöoikeudet

Sovellus pyytää määrityksen aikana useita käyttöoikeuksia. Jokaisella niistä on oma tarkoituksensa, ja osa niistä on välttämättömiä perustoimintojen kannalta.

Bluetooth-käyttöoikeus

Bluetooth on ensisijainen yhteystapa puhelimesi ja Meshtastic-radion välillä:

  • Bluetooth-skannaus — etsi lähellä olevia Meshtastic-radioita
  • Bluetooth-yhteys — muodosta ja ylläpidä yhteyksiä pariliitettyihin radioihin

Myönnä molemmat käyttöoikeudet pyydettäessä. Ilman Bluetoothia sinun on käytettävä sen sijaan USB- tai TCP-yhteyksiä.

Sijaintikäyttöoikeus

⚠️ Miksi sijaintikäyttöoikeus tarvitaan Bluetoothille? Android vaatii sijaintikäyttöoikeuden lähellä olevien Bluetooth Low Energy -laitteiden löytämiseen. Tämä on Android-järjestelmän vaatimus, eikä Meshtasticin erityinen valinta.

Meshtastic käyttää sijaintiasi myös seuraaviin tarkoituksiin:

  • Sijaintisi näyttäminen mesh-kartalla
  • Etäisyyksien laskeminen muihin radioihin
  • GPS-koordinaattiesi jakaminen muiden verkon jäsenten kanssa (jos käytössä)

Myönnä “Sovelluksen käytön aikana” tai “Aina” oman mieltymyksesi mukaan:

  • Sovelluksen käytön aikana — sijainti päivittyy vain silloin, kun sovellus on avoinna
  • Aina — mahdollistaa sijainnin päivittämisen taustalla jatkuvaa verkon läsnäoloa varten

Jos käyttöoikeus evätään, Bluetooth-skannaus ei toimi eikä radiosi raportoi sijaintia.

Ilmoituskäyttöoikeus

Ilmoitukset kertovat sinulle:

  • Saapuvista viesteistä kanavilta ja yksityisviesteistä
  • Uusista mesh-verkkoon liittyvistä radioista
  • Etäradion akun vähäisestä virrasta

💡 Vinkki: Voit myöhemmin säätää ilmoitusasetuksia Androidin järjestelmäasetuksissa. Sovellus luo jokaiselle ilmoitusluokalle oman ilmoituskanavan (sekä muutamia sisäisiä kanavia, kuten taustapalvelulle), joten voit ottaa ne käyttöön tai mykistää ne yksitellen.

Kriittisten hälytysten käyttöoikeus

Tuetuilla laitteilla sovellus voi pyytää käyttöoikeutta kriittisiin hälytyksiin:

  • Nämä ovat korkean prioriteetin ilmoituksia, jotka voivat ohittaa Älä häiritse -tilan
  • Hyödyllinen hätätilanteiden verkkohälytyksille tai kiireellisille viesteille
  • Voit ohittaa tämän vaiheen, jos et tarvitse ilmoituksia, jotka ohittavat Älä häiritse -tilan
  • Voit määrittää tai peruuttaa tämän myöhemmin Androidin ilmoitusasetuksissa

Määrityksen jälkeen

Kun käyttöoikeudet on myönnetty, sovellus siirtyy pääkäyttöliittymään. Ensimmäinen toimenpiteesi pitäisi olla yhteyden muodostaminen Meshtastic-radioon — katso Yhteydet yksityiskohtaisia ohjeita varten.

💡 Vinkki: Jos ohitit käyttöoikeuksia määrityksen aikana, voit myöntää ne myöhemmin kohdassa Androidin asetukset → Sovellukset → Meshtastic → Käyttöoikeudet. Sovellus pyytää sinulta uudelleen käyttöoikeutta, jos puuttuva käyttöoikeus estää käyttämästä ominaisuutta, jota yrität käyttää.

Mitä seuraavaksi?

Kun olet muodostanut yhteyden radioon, tutustu seuraaviin:

Uusi Meshtasticissa? Aloitusopas meshtastic.org-sivustolla käsittelee laitteiston valintaa, radion alkuasetuksia ja ensimmäisen verkon käyttöönottoa.



diff --git a/v2.8.0/fi-rFI/user/settings-module-admin.html b/v2.8.0/fi-rFI/user/settings-module-admin.html deleted file mode 100644 index c3f73075d5..0000000000 --- a/v2.8.0/fi-rFI/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Asetukset — Moduulit ja ylläpito | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Asetukset — Moduulit ja ylläpito

Määritä valinnaiset ominaisuusmoduulit ja suorita laitteen ylläpitotoimia. Moduulit laajentavat Meshtasticia erikoisominaisuuksilla — jokainen voidaan ottaa käyttöön tai poistaa käytöstä erikseen.

💡 Vinkki: Ota käyttöön vain ne moduulit, joita todella käytät. Käyttämättömien moduulien poistaminen käytöstä vähentää lähetyksen käyttöastetta, säästää akkua ja yksinkertaistaa määrityksiä.

Moduuliasetukset käyttävät korttipohjaista asettelua, jossa on kytkimiä, pudotusvalikoita, tekstikenttiä ja liukusäätimiä:

Kytkin

Pudotusvalikko

Tekstikenttä

Asetuskortin asettelu

Moduulin määritys

MQTT-moduuli

Yhdistää verkon viestejä MQTT-välityspalvelimeen ja sieltä takaisin internet-yhteyksiä varten. Näin laajennat verkkoasi radiokantaman ulkopuolelle tai integroit sen kodin automaatiojärjestelmiin.

Asetus Kuvaus
Käytössä Ota MQTT-välityspalvelin käyttöön
Palvelin MQTT-välityspalvelimen osoite
Käyttäjänimi Todennuksen käyttäjätunnus
Salasana Todennuksen salasana
Salaus Salaa MQTT-viestisisällöt
JSON Output ⚠️ Vanhentunut — JSON-tuki poistettu laiteohjelmistosta, kenttä ohitetaan
TLS Käytä suojattua yhteyttä
Juuriaihe MQTT:n perusaihepolku
Karttaraportointi Julkaise sijainti julkiselle kartalle

Katso MQTT saadaksesi yksityiskohtaisen käyttöoppaan, joka sisältää salauksen, tietosuojan ja välityspalvelimen määrityksen.

Sarjaporttimoduuli

Mahdollistaa sarjaporttiviestinnän ulkoisten laiteintegraatioiden kanssa (GPS-moduulit, anturit tai mukautettu laitteisto). Kun tämä on käytössä, radion sarjaportti voi lähettää ja vastaanottaa protobuf- tai tekstimuotoista dataa, jolloin ulkoiset mikrokontrollerit tai tietokoneet voivat olla vuorovaikutuksessa verkon kanssa.

Asetus Kuvaus
Käytössä Ota sarjaporttiviestintä käyttöön
Toista Toista vastaanotettu sarjaporttidata takaisin
Tila Teksti-, Protobuf- tai NMEA-ulostulo
RX/TX pinnit GPIO-pinnit sarjaporttiyhteyttä varten
Baud-siirtonopeus Sarjaporttiyhteyden nopeus

Ulkoisten ilmoitusten moduuli

Ohjaa radion laitteiston summeri-, LED- tai värinähälytyksiä. Hyödyllinen laitteille, joiden täytyy ilmoittaa fyysisesti viestin saapumisesta — erityisen hyödyllinen valvomattomissa tai ulkokäyttöön asennetuissa laitteissa.

Asetus Kuvaus
Käytössä Ota ilmoitukset käyttöön
Hälytysviesti Ilmoita saapuvista viesteistä
Hälytysviestin summeri Käytä summeria viesteille
Värinähälytys viesteille Käytä värinää viesteille
Hälytysääni Ilmoita soittomerkkimerkistä (bell character)
Ulostulo (GPIO) Pinni ilmoitusulostuloa varten
Käytössä Aktiivinen korkealla tai matalalla tasolla
Kesto (ms) Ilmoituksen kesto
Käytä I2S:ää summerina Käytä I2S-äänilähtöä

Varastoi & välitä -moduuli

Puskuroi viestejä radioille, jotka ovat tilapäisesti poissa verkosta, ja toimittaa ne, kun nämä radiot yhdistyvät uudelleen. Välttämätön verkoissa, joissa radiot siirtyvät säännöllisesti kuuluvuusalueelle ja sen ulkopuolelle — varmistaa, etteivät viestit katoa lyhyiden yhteyskatkosten aikana.

Asetus Kuvaus
Käytössä Ota Varastoi & välitä käyttöön
Valvontasignaali Ilmoita tämän radion varastoi & välitä -ominaisuudesta säännöllisesti
Tiedot Tallennettujen viestien enimmäismäärä
Historian palautus (enintään) Toistettavien viestien enimmäismäärä
Historian palautus (aikaikkuna) Aikaikkuna viestien toistolle
Palvelin Toimi mesh-verkon varastoi & välitä -palvelimena (edellyttää riittävästi muistia, esimerkiksi ESP32 PSRAM:lla)

💡 Vinkki: Varastoi & välitä toimii parhaiten radioissa, joissa on runsaasti muistia (ESP32 ja PSRAM). Router-roolin radiot ovat ihanteellisia ehdokkaita, koska ne ovat yleensä jatkuvasti käynnissä.

Kuuluvuustesti-moduuli

Automaattinen kuuluvuustestityökalu radioiden välisen yhteyden laadun arviointiin. Kun toiminto on käytössä, radio lähettää säännöllisesti testiviestejä kasvavilla laskuriarvoilla. Vastaanottava radio kirjaa nämä viestit, jolloin voit myöhemmin kävellä tai ajaa pois ja analysoida, millä etäisyydellä viestien saapuminen loppui.

Asetus Kuvaus
Käytössä Ota kuuluvuustesti käyttöön
Lähetysväli (s) Aika testilähetysten välillä
Tallenna CSV-tiedosto Kirjaa vastaanotetut testitiedot SD-kortille

Telemetriamoduuli

Määrittää, mitä telemetriatietoja radiosi jakaa verkkoon. Telemetria sisältää laitteen kuntoon liittyviä tietoja (akun varaustaso, käyttöaika) sekä ympäristöanturien tietoja (lämpötila, kosteus, ilmanpaine).

Asetus Kuvaus
Laitemittarien väli Kuinka usein laitemittarit raportoidaan
Ympäristömittarien väli Kuinka usein ympäristöanturit raportoidaan
Ilmanlaatu käytössä Raportoi hiukkasanturin tiedot
Virtamittarit käytössä Raportoi virrankulutus

Katso Telemetria ja anturit saadaksesi tietoa tuetuista antureista ja määrityssuosituksista.

Valmiiden viestien moduuli

Esimääritetyt viestit, joita voidaan käyttää laitteen fyysisillä painikkeilla (radioille, joissa on kiertokooderi, näppäimistö tai vastaava laitteisto). Määritä luettelo pikaviesteistä, jotka voidaan lähettää ilman yhdistettyä puhelinta — ihanteellinen kenttäkäyttöön.

Asetus Kuvaus
Käytössä ⚠️ Vanhentunut — nykyinen laiteohjelmisto saattaa ohittaa tämän asetuksen
Viestit Rivinvaihdoilla eroteltu viestiluettelo
Lähetä äänimerkki Toista merkkiääni lähetyksen yhteydessä
Kiertokooderi Ota kiertokooderin syöte käyttöön
Ylös, alas ja painallus-pinnit GPIO-pinnien määritykset syötteille

Äänimoduuli

Codec2-äänituki matalan kaistanleveyden puheviestintään verkossa. Tämä on kokeellinen ominaisuus, joka koodaa puheen erittäin pieniksi datapaketeiksi käyttäen Codec2-koodekkia.

Asetus Kuvaus
Käytössä Ota äänimoduuli käyttöön
Codec2-nopeus Äänenlaadun ja kaistanleveyden välinen kompromissi
I2S Word Select GPIO-pinni I2S WS:lle
I2S-datasisääntulo GPIO-nasta I2S DIN:lle
I2S-dataulostulo GPIO-pinni I2S DOUT:lle

⚠️ Huomautus: Ääniominaisuudet edellyttävät yhteensopivaa laitteistoa (I2S-mikrofoni ja kaiutin). Äänenlaatu on hyvin matalakaistainen — ajattele “ymmärrettävää radiopuhetta”, ei puhelinlaatua.

Etälaitteiston moduuli

GPIO-ohjaus mesh-verkon kautta. Mahdollistaa etäradion lukea tai kirjoittaa GPIO-nastoja toisessa radiossa — hyödyllinen releiden aktivointiin, kytkimien lukemiseen tai ulkoisen laitteiston ohjaamiseen etäältä.

Asetus Kuvaus
Käytössä Ota etä-GPIO-käyttö käyttöön
Salli määrittelemättömät pinnit Salli pääsy mihin tahansa GPIO-nastaan (tietoturvariski)
Käytettävissä olevat pinnit Enintään 4 tämän radion etälukuun tai kirjoitukseen tarjoamaa GPIO-pinniä

⚠️ Varoitus: Määrittelemättömien pinnien salliminen antaa etäradioille pääsyn kaikkiin GPIO-pinneihin, mikä voi häiritä radion omaa laitteistoa. Ota käyttöön vain erillisissä GPIO-radioissa.

Naapuritieto-moduuli

Lähettää tietoa suoraan kuulluista naapureista mahdollistaen verkon topologian kartoituksen. Jokainen käyttöön otettu radio jakaa säännöllisesti luettelon muista radioista, jotka se kuulee, sekä niiden signaalin laadun.

Asetus Kuvaus
Käytössä Ota naapuritiedon lähetys käyttöön
Päivitysväli (s) Kuinka usein naapuriluettelo lähetetään
Lähetä LoRan kautta Lähetä myös naapuritiedot LoRa:n kautta, ei pelkästään MQTT:n tai puhelimen kautta. Ei käytettävissä kanavalla, joka käyttää oletusavainta ja nimeä

Katso Haku saadaksesi lisätietoja naapuritietojen käyttämisestä verkon topologian tutkimiseen.

Ympäristövalaistusmoduuli

Ohjaa tuetuissa laitteissa olevaa NeoPixeliä tai muita osoitteellisia RGB-LEDejä. Voidaan käyttää visuaalisina tilailmaisimina, ilmoitusvaloina tai koriste-efekteinä.

Asetus Kuvaus
Ledin tila Kytke LED päälle tai pois päältä
Virta LED-virran rajoitus (0–31)
Punainen / vihreä / sininen Yksittäisten värikanavien arvot (0–255)

Tunnistusanturimoduuli

Muuttaa radiosi liike- tai ovitunnistimeen perustuvaksi hälytysjärjestelmäksi. Kun GPIO-pinni havaitsee tilamuutoksen (liike havaittu, ovi avattu), radio lähettää hälytysviestin verkkoon.

Asetus Kuvaus
Käytössä Ota tunnistusanturi käyttöön
Valvonta pinni Anturiin kytketty GPIO-pinni
Havaitsemisen laukaisutyyppi Miten pinnin tila vastaa havaitsemistapahtumaa (esim. aktiivinen korkea/matala taso tai reunalaukaisu)
Käytä sisäistä ylösvetovastusta Ota pinnin sisäinen ylösvetovastus käyttöön
Lähetyksen vähimmäisväli (s) Hälytyslähetysten vähimmäisaika
Tilalähetys (s) Tilatiedon lähetysväli
Lähetä äänimerkki Sisällytä soittomerkkimerkki hälytyksiin
Käyttäjäystävälinen nimi Tälle anturille määritetty nimi

PAX-laskurimoduuli

Henkilölaskuri, joka hyödyntää Wi-Fi- ja BLE-koepyyntöjä. Laskee lähellä olevia laitteita kuuntelemalla passiivisesti koepyyntöjä, joita puhelimet ja kannettavat tietokoneet lähettävät etsiessään verkkoja. Saatavilla vain ESP32-laitteissa.

Asetus Kuvaus
Käytössä Ota henkilölaskenta käyttöön
Päivitysväli (s) Kuinka usein laskentatiedot raportoidaan

💡 Vinkki: PAX-laskuri on hyödyllinen jalankulkijamäärien arviointiin retkeilyreittien lähtöpisteissä, tapahtumapaikoilla tai muissa kohteissa. Laskentatulokset ovat arvioita — yhdellä henkilöllä voi olla useita laitteita mukana.

TAK-moduuli

Team Awareness Kit -integraatio yhteensopivuutta varten ATAK- ja WinTAK-järjestelmien kanssa. Katso TAK-integraatio saadaksesi tarkemmat määritys- ja käyttöohjeet.

Ylläpito

Etähallinta

Määritä etänä radiot, jotka jakavat saman ylläpitoavaimen:

  1. Valitse kohderadio radioluettelosta.
  2. Siirry kyseisen radion Asetukset-kohtaan.
  3. Muokkaa määrityksiä.
  4. Napauta Tallenna — muutokset lähetetään verkon kautta.

⚠️ Edellyttää: Ylläpitoavain on määritetty sekä omassa radiossasi että kohderadiossa.

Tyhjennä NodeDB-tietokanta

Poistaa vanhentuneet radiot paikallisesta tietokannastasi, jos niistä ei ole kuultu määritettävän aikaikkunan aikana.

Palauta tehdasasetukset

Palauttaa kaikki asetukset tehdasasetuksiin. Tätä toimintoa ei voi perua.

Käynnistä uudelleen

Käynnistä yhdistetty tai ylläpidettävä radio etänä uudelleen.

Vianetsintäpaneeli

Avaa Paketit- ja Sovelluslokit-välilehdet diagnostiikkatietojen tarkastelua, suodatusta ja vientiä varten. Katso Virheenjäljityslokit, jossa on täydellinen käyttöohje.

Etähallinnan vianmääritys

  • Ei vastausta kohderadiolta — kohderadio voi olla kuuluvuusalueen ulkopuolella, poissa verkosta tai siinä voi olla eri ylläpitoavain. Varmista, että ylläpitoavain on sama molemmissa radioissa.
  • Muutokset eivät tule voimaan — jotkin asetukset edellyttävät uudelleenkäynnistystä ennen kuin ne astuvat voimaan. Kokeile Uudelleenkäynnistystä tallennuksen jälkeen.
  • Et näe etäasetuksia — varmista, että radiossasi on kohderadion ylläpitoavain. Ylläpitokanava määritetään automaattisesti, kun ylläpitoavain on asetettu.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/settings-radio-user.html b/v2.8.0/fi-rFI/user/settings-radio-user.html deleted file mode 100644 index 1d0395caf3..0000000000 --- a/v2.8.0/fi-rFI/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Asetukset — Radio ja käyttäjä | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Asetukset — Radio ja käyttäjä

Määritä radion laitteisto ja käyttäjätunnistetiedot.

Käyttäjäasetukset

Käyttäjäprofiili

Asetus Kuvaus
Pitkä nimi Näyttönimesi (enintään 39 merkkiä)
Lyhytnimi 4-merkkinen lyhytnimi
Lisensoitu radioamatööri Ota käyttöön, jos sinulla on radioamatöörilupa (mahdollistaa suuremman lähetystehon)

Muutosten käyttöönotto

Asetusten muuttamisen jälkeen napauta Tallenna kirjoittaaksesi määritykset radioon. Laite voidaan käynnistää uudelleen muutosten käyttöönottoa varten.

Asetukset

Laitteen asetukset

Asetus Kuvaus Oletus
Rooli Radion rooli (Client, Router jne.) Client
Uudelleenlähetyksen tila Miten radio välittää viestejä eteenpäin Kaikki
Radiotiedon lähetys (s) Radion tietojen lähetysväli 10800
Kaksoisnapautuspainike Toiminto painikkeen kaksoisnapautukselle Ei käytössä

LoRa:n asetukset

Asetus Kuvaus Oletus
Alue Taajuusalueiden sääntelyalue Ei asetettu (on määritettävä)
Modeemin esiasetus Nopeuden ja kantaman välinen kompromissi LongFast
Hyppyraja Suurin hyppyjen määrä 3
Lähetysteho Lähetysteho (dBm): 0 = alueen sallima enimmäisteho 0 (alueen enimmäisteho)
Taajuuspoikkeama Taajuuden hienosäätö (MHz) 0
Kanavan kaistanleveys Kaistanleveysasetus Esiasetuksen oletusarvo

⚠️ Tärkeää: Sinun täytyy määrittää alueesi ennen lähettämistä. Lähettäminen väärällä alueasetuksella voi rikkoa paikallisia radiomääräyksiä. Katso alueasetusten määritysopas meshtastic.org-sivustolta saadaksesi lisätietoja.

Esiasetukset

💡 Vinkki: SNR-raja-arvot ovat tarkoituksella negatiivisia. LoRa pystyy purkamaan signaaleja kohinatason alapuolelta, joten negatiivisempi raja tarkoittaa, että esiasetus sietää heikomman ja kohinaisemman signaalin (suurempi kantama). Katso Miten signaalimittari toimii saadaksesi täydellisen selityksen.

Esiasetus Kantama Nopeus SNR-raja Paras käyttöön
Short Turbo ~1 km 21.9 kbps −7.5 dB Tiheä kaupunkiympäristö suoralla näköyhteydellä; paljon dataa siirtävät sovellukset
Short Fast ~3 km 10.9 kbps −7.5 dB Kaupunkialueet, rakennuksia muutaman korttelin säteellä
Short Slow ~5 km 5.5 kbps −10 dB Lyhyen kantaman esikaupunkialueet; kohtalainen rakennustiheys
Medium Fast ~5 km 5.5 kbps −12.5 dB Esikaupunkialueet; kohtalainen rakennustiheys
Medium Slow ~8 km 1.1 kbps −15 dB Esikaupunki-/maaseutualueet; kohtalainen kantama ja hitaampi nopeus
Long Turbo ~10 km 4.4 kbps −12.5 dB Samankaltainen kantama kuin Long Fast -asetuksella, mutta 500 kHz:n kaistanleveydellä; suurempi tiedonsiirtonopeus
Long Fast ~10 km 1.1 kbps −17.5 dB Yleiskäyttö (oletus) — tasapaino kantaman ja nopeuden välillä
Long Moderate ~20 km 0.34 kbps −17.5 dB Maaseutualueet, joissa on jonkin verran maastonmuotoja; satunnainen käyttö
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD -alue (125 kHz BW); verrattavissa Medium Fast -asetukseen
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD -alue (125 kHz BW); verrattavissa Long Fast -asetukseen
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz -alue (62,5 kHz BW); välttää häiriöitä muiden laitteiden kanssa
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz -alue (62,5 kHz BW); verrattavissa Long Fast -asetukseen
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Vanhentunut — edelleen valittavissa, mutta voidaan poistaa tulevassa laiteohjelmistoversiossa
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Vanhentunut — edelleen valittavissa, mutta voidaan poistaa tulevassa laiteohjelmistoversiossa

ℹ️ Huomautus: Tässä taulukossa käytetään yleisesti käytössä olevia lyhyitä nimiä. Sovelluksen esiasetusvalikossa ne näkyvät nimillä Lyhyt kantama - Nopea, Pitkä kantama - Nopea, Lite - Nopea, Kapea - Nopea ja niin edelleen.

Modeemiesiasetuksen valitseminen

Modeemiesiasetus määrittää tärkeimmän kompromissin kantaman ja tiedonsiirtonopeuden välillä:

  • Hitaammat esiasetukset käyttävät enemmän hajautusta, jolloin signaali voidaan purkaa heikommilla signaalitasoilla (alempi SNR-raja). Tämä tarkoittaa pidempää kantamaa, mutta vähemmän tavuja sekunnissa.
  • Nopeammat esiasetukset siirtävät enemmän dataa, mutta vaativat vahvemman signaalin purkamista varten.

Käytännön ohje:

  • Kaupunkiverkko (paljon radioita, lyhyet etäisyydet): Käytä Long Fast -asetusta (oletus) tai Short Fast -asetusta. Suurempi nopeus tarkoittaa vähemmän käyttöasteruuhkaa, kun monet radiot jakavat saman kanavan.
  • Maaseutu tai harva verkko (vähän radioita, pitkät etäisyydet): Käytä Long Moderate -asetusta. Kantama on tärkeämpi kuin nopeus, kun radiot ovat kaukana toisistaan.
  • EU 866/868 MHz -alueen säädösten noudattaminen: Käytä Lite Fast, Lite Slow, Narrow Fast tai Narrow Slow -asetuksia — ne on optimoitu EU:n SRD/868 MHz -alueille kapeammilla kaistanleveyksillä.
  • Kiinteät infrastruktuurilinkit: Käytä Short Turbo- tai Long Turbo -asetusta erillisille pisteestä pisteeseen -linkeille, joissa on hyvät antennit ja suora näköyhteys.
  • Sekaverkot: Pysy Long Fast -asetuksessa — se on yhteisön oletusasetus ja varmistaa yhteensopivuuden alueesi muiden käyttäjien kanssa.

⚠️ Tärkeää: Kaikkien samalla kanavalla olevien radioiden täytyy käyttää samaa modeemiesiasetusta. Radiot, joiden modeemiesiasetukset eivät täsmää, eivät voi viestiä keskenään, vaikka ne käyttäisivät samaa taajuutta ja salausavainta.

💡 Vinkki: Yllä olevat kantama-arviot perustuvat tasaiseen maastoon ja vaatimattomiin antenneihin. Korkeuseroetu (mäki, rakennuksen katto) kasvattaa käytännön kantamaa huomattavasti. Hyvin sijoitettu Long Fast -asetusta käyttävä Router voi usein toimia paremmin kuin maan tasalla oleva Long Slow -asetusta käyttävä radio.

Näytön asetukset

Asetus Kuvaus
Näytön aikakatkaisu Aika ennen näytön siirtymistä lepotilaan
Näyttöyksiköt Metrinen tai imperiaalinen järjestelmä
OLED-tyyppi Auto, SSD1306, SH1106, SH1107
Kompassin suunta Kompassinäytön kiertosäätö (0°, 90°, 180°, 270°)
Kompassipohjoinen ⚠️ Vanhentunut — korvattu Kompassin suunta -asetuksella; näkyy edelleen vanhemmissa laiteohjelmistoversioissa

Sijainnin asetukset

Asetus Kuvaus
GPS-käytössä Ota GPS käyttöön tai poista käytöstä
GPS-päivitysväli Kuinka usein GPS-paikannusta päivitetään
Sijainnin lähetys (s) Kuinka usein sijaintia jaetaan
Älykäs sijainti Ota liikkeeseen perustuva lähetys käyttöön
Kiinteä sijainti Käytä manuaalisesti asetettua sijaintia

Virran asetukset

Asetus Kuvaus
Virransäästö Ota vähän virtaa kuluttava lepotila käyttöön
Sammuta jälkeen (s) Automaattisen sammutuksen ajastin
ADC-kerroin Akun jännitteen kalibrointikerroin
Odota Bluetoothia (s) Aika Bluetooth-yhteyden odottamiseen käynnistyksen yhteydessä
Mesh SDS -aikakatkaisu (s) Erittäin syvän lepotilan aikakatkaisu

Verkon asetukset

Asetus Kuvaus
WiFi käytössä Ota WiFi-radio käyttöön (ESP32-laitteet)
WiFi SSID Verkon nimi, johon yhdistetään
WiFi PSK Verkon salasana
NTP-palvelin Ajan synkronointipalvelin (NTP-palvelin)
Syslog-palvelin Etätietojen palvelin

IP-osoitekenttä

Bluetooth asetukset

Asetus Kuvaus
Bluetooth käytössä Ota Bluetooth-radio käyttöön tai poista käytöstä
Pariliitostila Kiinteä PIN-koodi, satunnainen PIN-koodi tai ei PIN-koodia
Kiinteä PIN-koodi PIN-koodi pariliitosta varten (oletus: 123456)

Turvallisuusasetukset

Asetus Kuvaus
Julkinen avain Radiosi julkinen avain (vain luku)
Ylläpitäjän avain Avain etähallintaa varten
Yksityinen avain Radiosi yksityinen avain (käsittele turvallisesti)
Ylläpitokanava käytössä ⚠️ Poistettu — määritetään nyt automaattisesti, kun ylläpitoavain asetetaan
Virheenkorjausloki Tulosta reaaliaikainen virheenkorjausloki sarjaportin tai bluetoothin kautta
Sarjaportti käytössä Ota sarjakonsoliyhteys käyttöön (siirretty laiteasetuksista)
Hallintatila Rajoita muutokset muihin kuin ylläpitokanaviin
Varmuuskopioi avaimet Tallenna radion avaimista salattu varmuuskopio tälle laitteelle (vain Android)
Palauta avaimet Kirjoita varmuuskopioidut avaimet takaisin radioon (käytettävissä, kun varmuuskopio on olemassa)
Poista avaimen varmuuskopio Poista tälle laitteelle tallennettu avainten varmuuskopio
Suojaustaso Pakettien aitous – miten allekirjoittamattomia tai välitettyjä paketteja käsitellään: Tiukka, Tasapainoinen tai Yhteensopiva (edellyttää tuettua laiteohjelmistoa; Tiukka pyytää vahvistuksen)

Salasanakenttä

Asetukset käyttävät tavallisia asetussäätimiä — pudotusvalikoita, kytkimiä ja liukusäätimiä:

Säädin Kuvakaappaus
Pudotusvalikko Pudotusvalikko
Kytkin Kytkin
Liukusäädin Liukusäädin

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/signal-meter.html b/v2.8.0/fi-rFI/user/signal-meter.html deleted file mode 100644 index 75f2668432..0000000000 --- a/v2.8.0/fi-rFI/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - Kuinka Meshtastic-signaalimittari toimii | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Kuinka Meshtastic-signaalimittari toimii

Meshtasticin signaalimittari — sovelluksessa näkyvät tutut palkit tai tilan väri — lasketaan hyvin eri tavalla kuin perinteisen matkapuhelimen tai WiFi-reitittimen “palkit”.

Useimmat kuluttajalaitteet mittaavat yksinkertaisesti signaalin “voimakkuutta”. Koska Meshtastic käyttää LoRa (Long Range) -teknologiaa, signaalimittari arvioi sen sijaan kuinka “selkeä” signaali on suhteessa käytössä olevan mesh-verkon asetuksiin.


1. Kaksi mittaria: “voimakkuus” vs “selkeys”

Aina kun LoRa-radio vastaanottaa viestin, se raportoi kaksi arvoa:

  • RSSI (Received Signal Strength Indicator): kuinka “voimakas” antenniin saapuva signaali on.
  • SNR (Signal-to-Noise Ratio): kuinka “selkeä” signaali on suhteessa taustakohinaan.

💡 Vinkki: Ajattele asiaa näin — yrität kuulla ystäväsi puhetta.

  • RSSI on kuinka kovaa hän puhuu.
  • Melutaso (Noise Floor) on huoneen taustahäly (ilmastointi, muut ihmiset, liikenne).
  • SNR on se, kuinka hyvin erotat ystäväsi äänen taustamelusta.

Jos ystäväsi huutaa rock-konsertissa, signaali on erittäin voimakas (korkea RSSI), mutta et silti ymmärrä häntä, koska kohina on liian suuri (huono SNR). Toisaalta, jos hän kuiskaa hiljaisessa kirjastossa, signaali voi olla heikko (matala RSSI), mutta ymmärrät silti hyvin (hyvä SNR).


2. LoRa:n “taika”: kuuleminen kohinan alta

Tavallisessa radiossa (kuten FM- tai WiFi-yhteydessä), jos taustakohina on voimakkaampi kuin signaali (negatiivinen SNR), vastaanotin kuulee vain kohinaa.

LoRa on erilainen. Se käyttää hajaspektritekniikkaa (Spread Spectrum), joka mahdollistaa signaalin erottamisen myös silloin, kun se on taustakohinan alla. Siksi Meshtasticissa näkyy usein negatiivisia SNR-arvoja (esim. -10 dB tarkoittaa, että signaali on 10 dB heikompi kuin kohina).

Riippuen siitä, mitä Meshtastic-esiasetusta käytät (esim. “LongFast” vs. “ShortFast”), radiolla on tietty SNR-raja — eli suurin määrä kohinaa, jonka se kestää ennen kuin viesti alkaa kadota täysin kohinaan.


3. Kuinka signaalimittari laskee laadun

Sovellus arvioi signaalin laadun (Ei, Huono, Kohtalainen tai Hyvä) pelkästään SNR-arvon perusteella, suhteessa esiasetuksen SNR-rajaan — eli demodulaation alarajaan, joka on kuvattu aiemmin. Se ei tarkoituksella ota RSSI-arvoa huomioon arvioinnissa: ilman paikallista kohinatasoa RSSI ei kerro, voidaanko signaali todella purkaa, joten SNR suhteessa esiasetuksen rajaan on merkityksellinen mittari. (RSSI näytetään edelleen muualla sovelluksessa.)

Koska arviointi perustuu esiasetuksen rajaan, sama SNR-arvo voi saada eri arvosanan eri esiasetuksilla — esimerkiksi -15 dB on hyvä arvo LongSlow-esiasetuksella, mutta käyttökelvoton ShortFast-esiasetuksella. Jos “raja” tarkoittaa käytössä olevan esiasetuksen SNR-rajaa, sovellus määrittää palkit (tai värin) seuraavasti:

Taso Palkit Kriteerit Merkitys
Hyvä 3 SNR esiasetuksen rajan yläpuolella Signaali on selvästi demodulaation alarajan yläpuolella — hyvä yhteys.
Kohtalainen 2 alle 5,5 dB rajan alapuolella Signaali voidaan vielä purkaa, mutta se on lähellä demodulaation alarajaa.
Huono 1 5,5–7,5 dB rajan alapuolella Signaali on aivan esiasetuksen palautumiskyvyn rajalla.
ei mitään 0 yli 7,5 dB “rajan” alapuolella Signaali on demodulaation alarajan alapuolella — lähetys hukkuu kohinaan.

Huomautus: Kiinteitä SNR-rajoja, joita olet ehkä nähnyt muualla (−7 dB / −15 dB), käytetään nykyisin vain traceroute-tulosten yksittäisten hyppyjen väritykseen — ei radion yleisen signaalin laadun arviointiin.


4. Mitä tämä tarkoittaa sinulle

Koska Meshtasticin mittari toimii enemmän selkeysmittarina, se käyttäytyy eri tavalla kuin useimmat odottavat:

💡 Vinkki: Älä huolestu matalasta RSSI-arvosta. Saatat nähdä näennäisesti erittäin huonon RSSI-arvon, kuten -118 dBm. Tavallisessa puhelimessa tämä tarkoittaisi käytännössä nollakenttää. Mutta jos SNR on esimerkiksi +2 dB, Meshtastic voi silti näyttää vahvaa signaalia! Kirjasto on hiljainen, joten kuiskaus kuuluu täydellisesti.

⚠️ Varoitus: Kiinnitä huomiota paikalliseen kohinaan. Jos liität suuren antennin ja näet hyvän RSSI-arvon (esim. -90 dBm), mutta signaalimittari näyttää silti vain 1 palkin (Huono), yhteydessä on ongelma. Se tarkoittaa paikallista häiriötä — esimerkiksi halpa virtalähde, kohiseva elektroniikka tai lähellä oleva radiolähetin voi luoda niin paljon kohinaa, että se peittää mesh-verkon.

Missä signaalitieto näkyy

Sovelluksessa signaalidata näkyy useissa paikoissa:

  • Radiolista — signaalipalkki jokaisen radion vieressä
  • Radion tiedot — SNR, RSSI ja signaalin laatu laitteen mittareissa
  • Reitinselvitys — signaalin laatu jokaisessa välivaiheessa jokaiselle välittävälle radiolle
  • Signaalimittarit — historiallinen SNR- ja RSSI-data mittauskaavioissa

Radion tietorivi, jossa näkyvät SNR- ja RSSI-arvot sekä värilliset signaalipalkit

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/tak.html b/v2.8.0/fi-rFI/user/tak.html deleted file mode 100644 index 36d66e05b1..0000000000 --- a/v2.8.0/fi-rFI/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK-integraatio | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

TAK-integraatio

Meshtastic integroituu Team Awareness Kit (TAK) -ekosysteemiin, mahdollistaen yhteentoimivuuden Meshtastic-verkkoradioiden ja TAK-sovellusten kuten ATAK:n ja WinTAK:n välillä.

Yleiskatsaus

TAK-moduuli mahdollistaa Meshtastic-radioille:

  • Sijaintidatan jakamisen TAK-yhteensopivassa CoT (Cursor on Target) -muodossa
  • Näkyä tiimin jäseninä TAK-karttanäkymissä
  • Vastaanottaa TAK PLI (Position Location Information) -viestejä

Asetukset

Edellytykset

  • ATAK (Android Team Awareness Kit) tai WinTAK asennettuna
  • Meshtastic ATAK -lisäosa asennettuna
  • TAK-moduuli käytössä Meshtastic-radiossasi

Asetukset

  1. Siirry kohtaan Asetukset → Moduulin asetukset → TAK.
  2. Ota TAK-moduuli käyttöön.
  3. Määritä TAK-tiimin/ryhmän asetukset:

Moduulin kytkin

Asetus Kuvaus
Käytössä Ota TAK-yhteentoimivuus käyttöön
Tila TAK-yhteensopiva lähtötila

ATAK-lisäosan asennus

  1. Asenna Meshtastic ATAK -lisäosa lisäosien lähteestä.
  2. Avaa ATAK ja ota Meshtastic-lisäosa käyttöön.
  3. Lisäosa välittää viestejä ATAK:n ja mesh-verkkosi välillä.

Paikallinen TAK-palvelin

Sovellus voi käyttää myös paikallista TAK-palvelinta, jolloin samalla laitteella oleva ATAK/iTAK voi muodostaa siihen suoran yhteyden ilman etäpalvelinta. Palvelin kuuntelee vain paikallisia yhteyksiä (127.0.0.1:8089) ja käyttää TLS:ää molemminpuolisella varmenteiden todentamisella. Avaa Asetukset → Moduuliasetukset → TAK → TAK-palvelin:

Paikallisen TAK-palvelimen asetukset, joissa näkyvät käyttöönotto ja vientitoiminto

  • Ota paikallinen TAK-palvelin käyttöön – käynnistää vain paikallisia yhteyksiä kuuntelevan mTLS-palvelimen portissa 8089 samalla laitteella toimivaa ATAK-/iTAK-yhteyttä varten.
  • Vie TAK-tietopaketti — luo .zip-tietopaketin, jonka ATAK/iTAK voi tuoda muodostaakseen yhteyden tähän palvelimeen.

TAK-roolit

TAK-rooleilla määritetyt radiot käyttäytyvät eri tavalla kuin tavalliset client-laitteet:

Rooli Kuvaus
TAK Täysi TAK-yhteentoimivuus — lähettää ja vastaanottaa CoT-dataa, chat-viestejä ja PLI-päivityksiä. Toimii tavallisen clientin lisäksi TAK-siltana.
TAK Tracker Vain sijaintitietoihin perustuva TAK-lähtö — lähettää automaattisesti PLI-dataa säännöllisin väliajoin ilman käyttäjän toimintaa. Optimoitu valvomattomiin sijaintilähettimiin (ajoneuvot, laitteet ja reittipisteet). Ei välitä chat-viestejä.

💡 Vinkki: Käytä TAK Tracker -tilaa laitteille, joiden tarvitsee vain lähettää sijainti (esim. ajoneuvoon asennettu radio). Käytä TAK-tilaa laitteille, joissa käyttäjät osallistuvat aktiivisesti TAK-toimintaan.

CoT (Cursor on Target) -muoto

TAK-viestit käyttävät Cursor on Target XML -muotoa — sotilaskäytössä olevaa standardia tilannetiedon jakamiseen. Meshtastic muuntaa sisäiset protobuf-viestinsä CoT-muotoon silloin, kun se välittää dataa TAK-järjestelmiin, joten manuaalista muunnosta ei tarvita.

TAK-identiteetti

Kun käytät TAK-rooleja, radiosi lähettää identiteettitietoja, jotka näkyvät TAK-kartoilla:

Asetus Kuvaus
Tiimin väri TAK-kartan tiimiväri (esim. sininen, punainen, syaani, vihreä)
Jäsenen rooli Operatiivinen roolisi (tiimin jäsen, tiimin johtaja, esikunta, ensihoitaja, viestivastaava jne.)

Nämä asetukset näkyvät kohdassa Asetukset → Moduulin asetukset → TAK, kun TAK-moduuli on käytössä. TAK-kutsutunnuksesi ei ole erillinen asetus — se muodostetaan automaattisesti Meshtastic-radiosi nimestä.

💡 Vinkki: Tiimi- ja roolivärit ovat TAK-järjestelmän standardeja ryhmävärikoodauksia. Koordinoi TAK-tiimisi kanssa yhtenäisten tiimimääritysten käyttämiseksi.

Wire Format (V1 / V2)

Meshtastic tukee kahta TAK-siirtomuotoa, jotka valitaan automaattisesti yhdistetyn radion laiteohjelmiston perusteella — manuaalisia asetuksia ei tarvita:

Muoto Yhteensopivuus Ominaisuudet
V1 (vanha versio) Laiteohjelmisto 2.7.x ja vanhemmat Raaka protobuf-koodaus portissa 72. Tukee vain sijainnin jakamista (PLI) ja keskusteluja (GeoChat) — muodot, merkinnät, reitit ja muut tyypitetyt CoT-tapahtumat jätetään välittämättä
V2 (nykyinen) Laiteohjelmisto 2.8.0+ Pakkausmuoto käyttää zstd-pakkausta portissa 78. Tukee V1:n ominaisuuksien lisäksi myös muotoja, merkintöjä, reittejä, ilma-aluksia, lääkintäevakuointeja (CASEVAC), hätätilanteita ja tehtävätyyppisiä CoT-tapahtumia

Radio välittää edelleen vanhojen radioiden V1-paketteja myös käyttäessään itse V2:ta, joten eri laiteohjelmistoversioita käyttävät mesh-verkot toimivat keskenään.

Käyttö ATAK:n kanssa

Kun asetukset on määritetty:

  • Meshtastic-radiot näkyvät ATAK-kartalla merkkeinä kutsutunnuksineen
  • Viestit voivat välittyä mesh-verkon ja TAK-verkon välillä
  • Sijaintipäivitykset kulkevat kaksisuuntaisesti Meshtasticin ja TAK-järjestelmän välillä
  • TAK Tracker -radiot lähettävät PLI-sijaintia automaattisesti — niiden sijainti näkyy ATAK-kartoilla ilman erillistä ATAK-asetusta

⚠️ Huom: TAK-integraatio vaatii tietyt laiteroolit ja moduuliasetukset. Tavalliset client-laitteet eivät osallistu TAK-toimintoihin automaattisesti.

Vianetsintä

Ongelma Syy Ratkaisu
Radio ei näy ATAK-kartalla TAK-moduuli pois käytöstä tai väärä rooli Varmista, että TAK-moduuli on käytössä ja rooli on joko TAK tai TAK Tracker
Sijaintipäivitykset ovat vanhentuneita GPS-signaali katkennut tai lähetysväli liian pitkä Tarkista GPS-tila; lyhennä sijaintilähetyksen väliä kohdassa Sijainnin asetukset
ATAK-lisäosa näyttää “yhteys katkennut” Bluetooth-yhteys katkennut tai lisäosa on kaatunut Yhdistä Bluetooth uudelleen Meshtastic-sovelluksessa ja käynnistä ATAK-lisäosa uudelleen
Muotoja, merkintöjä tai reittejä ei välitetä Lähettävä radio käyttää vanhaa V1-protokollaa (laiteohjelmisto 2.7.x tai vanhempi) Päivitä lähettävän radion laiteohjelmisto versioon 2.8.0 tai uudempaan, jotta V2-siirtomuoto on käytettävissä
CoT-data ei kulje Kanava ei täsmää Kaikkien TAK-laitteiden täytyy olla samalla kanavalla ja yhteensopivalla salauksella

Tietoturvahuomiot

  • TAK-data sisältää sijainti- ja kutsutunnustietoja
  • Varmista, että kanavan salaus on oikein määritetty, kun käytät TAK:ia arkaluonteisissa ympäristöissä
  • TAK-moduuli noudattaa samaa kanavasalausta kuin muut Meshtastic-viestit

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/telemetry-and-sensors.html b/v2.8.0/fi-rFI/user/telemetry-and-sensors.html deleted file mode 100644 index 502b9dc732..0000000000 --- a/v2.8.0/fi-rFI/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetria ja anturit | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Telemetria ja anturit

Meshtastic-radiot voivat kerätä ja jakaa anturitietoja koko verkon laajuisesti.

Yleiskatsaus

Telemetria mahdollistaa antureilla varustettujen radioiden ympäristö-, virta- ja laitteen kuntotietojen lähettämisen verkkoon. Nämä tiedot näkyvät radion tietonäytössä ja niitä voidaan tallentaa sekä seurata ajan kuluessa.

Laitteen telemetriatiedot

Kaikki Meshtastic-radiot raportoivat peruslaitetelemetrian:

Metrijärjestelmä Kuvaus Tyypillinen vaihteluväli
Akun varaustaso Varausprosentti 0–100%
Jännite Akun jännite 3.0–4.2V (LiPo)
Kanavan Käyttö Paikallisesti käytetyn käyttöasteen prosenttiosuus 0–100%
Lähetysajan käyttöaste (TX) Tämän radion käyttämän lähetysajan prosenttiosuus 0–100%
Käyttöaika Sekuntia viimeisestä käynnistyksestä Vaihtelee

Ympäristöanturit

Tuetut ympäristöanturit:

Lämpötila ja kosteus

Sensor Lämpötila Kosteus Ilmanpaine Viestit
BME280 ✓ ✓ ✓ Suositeltu all-in-one-anturi
BME680 ✓ ✓ ✓ Lisää kaasuvastus ja IAQ-mittaukset
SHT31 ✓ ✓ — Korkea tarkkuus
MCP9808 ✓ — — Tarkka lämpötilamittaus
LPS22 — — ✓ Vain ilmanpaine

Ilmanlaatu

Sensor Metrijärjestelmä Viestit
BME680 Kaasuvastus ja IAQ Haihtuvat orgaaniset yhdisteet
PMSA003I PM1.0, PM2.5, PM10 Hiukkaset
SEN55 PM, NOx, VOC, lämpötila, kosteus Monianturi

Valo ja UV

Sensor Metrijärjestelmä
OPT3001 Ympäristön valoisuus (lux)
VEML7700 Ympäristön valoisuus (lux)
LTR390 UV-indeksi

Virranhallinnan arvot

INA-sarjan virta-antureilla varustetut radiot voivat raportoida:

Metrijärjestelmä Kuvaus
Väyläjännite Syöttöjännitteen
Virta Virrankulutuksen (mA)
Virta Lasketun tehon (mW)

Hyödyllinen aurinkolatauksen tai etäradioiden akun kunnon seurantaan.

Telemetrian määrittäminen

  1. Siirry kohtaan Asetukset → Moduuliasetukset → Telemetria
  2. Määritä raportointivälit:
    • Laitemittarien väli — kuinka usein laitteen mittarit lähetetään verkkoon
    • Ympäristömittarien väli — kuinka usein anturitiedot lähetetään verkkoon
  3. Ota tarvittavat anturityypit käyttöön.

Suositellut raportointivälit

Käyttötarkoitus Laite (s) Ympäristö (s)
Kaupunkiverkko (paljon radioita) 3600 3600
Maaseutuverkko (vähän radioita) 900 900
Sääasema 900 300
Akun säästäminen 7200 7200

⚠️ Huomautus: Lyhyemmät välit lisäävät käyttöastetta ja akun kulutusta koko verkossa.

Ilmanlaatumittarit

Hiukkas- tai CO₂-antureilla varustetut radiot raportoivat ilmanlaatutietoja:

Metrijärjestelmä Yksikkö Kuvaus
PM1.0 µg/m³ Erittäin pienet hiukkaset
PM2.5 µg/m³ Pienhiukkaset
PM10 µg/m³ Karkeat hiukkaset
CO₂ ppm Hiilidioksidipitoisuus

Myös CO₂ anturit, kuten SCD4x, ilmoittavat oman lämpötilansa ja ilmankosteutensa, jotka näytetään edellä olevien mittausten yhteydessä. PM2.5-historiasta sovellus laskee lisäksi EPA NowCast AQI -arvon.

CO₂-arvo on värikoodattu vakavuuden mukaan (Hyvä → Tunkkainen → Huono → Epäturvallinen → Evakuoi). Katso Radion mittarit — Ilmanlaatu, josta löytyvät tarkat ppm-arvot, värit ja AQI-luokituksen tiedot.

Ilmanlaatutiedot voidaan näyttää tietokortteina radion tietonäytössä, esittää kaavioina ajan kuluessa ja viedä CSV-tiedostoon.

Telemetrian tarkastelu

  1. Siirry kohtaan Radiot ja valitse radio.
  2. Telemetriaosiot näkyvät radion tietonäytössä:
    • Laitemittarit (aina käytettävissä)
    • Ympäristömittarit (jos antureita on saatavilla)
    • Virtamittarit (jos INA-anturi on käytettävissä)
    • Ilmanlaatumittarit (jos PM-/CO₂-anturi on käytettävissä)
  3. Historiakaaviot näyttävät mittaustietojen kehittymisen ajan kuluessa.

Telemetriatoiminnot

Vianetsintä

  • Ympäristötiedot eivät näy? Etäradio tarvitsee fyysisen anturin (esim. BME280 I²C-väylässä). Laitetelemetria (akun varaustaso, käyttöaika) on aina käytettävissä, mutta ympäristömittarit edellyttävät laitteistoa.
  • Vanhentuneita lukemia? Tarkista raportointiväli — erittäin pitkät välit (7200 s tai enemmän) tarkoittavat, että tiedot päivittyvät harvoin. Varmista myös, että etäradio on edelleen verkossa.
  • Anturiristiriita I²C-väylässä? Jotkin anturit käyttävät samoja I²C-osoitteita. Jos samalla väylällä on useita antureita, tarkista osoiteristiriidat radion sarjaportin virheenkorjaustulosteesta.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/translate.html b/v2.8.0/fi-rFI/user/translate.html deleted file mode 100644 index 34e8ffb6e4..0000000000 --- a/v2.8.0/fi-rFI/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Käännä sovellus | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Käännä sovellus

Käännöksiin osallistuminen auttaa tekemään Meshtasticista saavutettavamman laajemmalle yleisölle. Sovellus käyttää Crowdinia yhteisökäännösten hallintaan sekä käyttöliittymän sovelluksen sisäisten dokumentaatioiden hallintaan.


Mitä käännetään

Resurssi Lähteen sijainti Viestit
UI-tekstit core/resources/src/commonMain/composeResources/values/strings.xml Painikkeet, otsikot, viestit ja kaikki käyttäjälle näkyvä teksti
Käyttöoppaan sivut docs/en/user/*.md Sovelluksen sisäinen dokumentaatio Ohjeet ja dokumentaatio -osiossa
Fastlane-metatiedot fastlane/metadata/android/en-US/ Sovelluskaupan listauksen otsikko, kuvaus ja muutoslokit

⚠️ Huomautus: Kehittäjän oppaan sivut ovat saatavilla vain englanniksi. Koodiin keskittyvää dokumentaatiota, joka on suunnattu kehitystyöhön osallistuville, ei käännetä.


Kuinka voi osallistua

  1. Avaa Meshtastic Android Crowdin -projekti (https://crowdin.com/project/meshtastic-android) ja kirjaudu sisään tai luo ilmainen tili.
  2. Valitse kielesi. Valitse olemassa oleva kieli tai pyydä uutta avaamalla GitHub-issue.
  3. Käännä merkkijonot. Crowdin näyttää englanninkielisen lähteen vasemmalla ja käännöksesi oikealla. Käännä jokainen merkkijono ja tallenna.
  4. Tarkista konteksti. Monet merkkijonot sisältävät kuvakaappauksia tai kontekstikommentteja — tarkista nämä ymmärtääksesi, missä teksti näkyy sovelluksessa.
  5. Lähetä. Hyväksytyt käännökset yhdistetään automaattisesti seuraavaan julkaisuun.

💡 Vinkki: Pidä käännökset lyhyinä. Käyttöliittymän tekstit näkyvät usein painikkeissa, tunnisteissa tai kapeissa sarakkeissa. Jos käännös on huomattavasti pidempi kuin englanninkielinen alkuperäinen, harkitse tiivistämistä niin, että merkitys säilyy selkeänä.


Uuden kielen lisääminen

Jos kieltäsi ei ole vielä listattu Crowdinissa:

  1. Avaa GitHub-issue (https://github.com/meshtastic/Meshtastic-Android/issues/new) ja pyydä uutta kielialuetta.
  2. Ylläpitäjä lisää kielen Crowdin-projektiin ja määrittää crowdin.yml-asetukset.
  3. Kun kieli on lisätty, voit aloittaa kääntämisen heti.

Kuinka käännökset on järjestetty

Android-sovellus käyttää Compose Multiplatform -resursseja kaikille käyttäjälle näkyville teksteille:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

Sovelluksen sisäinen dokumentaatio noudattaa samaa rakennetta docs/ -hakemistossa:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Aluekansiot käyttävät Androidin resurssikäytäntöä {kieli}-r{ALUE} (esim. fr-rFR, de-rDE, ja-rJP), joka vastaa sovelluksen merkkijonoissa käytettyjä values-*-hakemistoja.

Sovellus valitsee automaattisesti oikean kielialueen laitteen Kieli & alue -asetusten perusteella.


Käännösohjeet

  • Älä käännä teknisiä termejä kuten “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR” tai “RSSI” — nämä ovat yleisiä.
  • Pidä paikkamerkit ennallaan. Merkkijonot kuten %1$s tai %d täytetään ajon aikana. Älä poista tai muuta niiden järjestystä, ellei kielesi kielioppi sitä vaadi.
  • Säilytä sävy. Sovellus käyttää ystävällistä ja suoraa tyyliä. Vältä liian muodollista kieltä.
  • Testaa jos mahdollista. Vaihda laitteesi kieli ja avaa sovellus nähdäksesi käännökset kontekstissa.

Kysyttävää?

Jos sinulla on kysyttävää tietyn merkkijonon asiayhteydestä tai tarvitset apua alkuun pääsemisessä, avaa keskustelu Meshtastic GitHub Discussions -sivulla.

Kiitos, että autat laajentamaan Meshtasticin tavoittavuutta!


diff --git a/v2.8.0/fi-rFI/user/units-and-locale.html b/v2.8.0/fi-rFI/user/units-and-locale.html deleted file mode 100644 index 572d5924d5..0000000000 --- a/v2.8.0/fi-rFI/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Yksiköt, mittaus ja kieli- ja alueasetukset | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Yksiköt, mittaus ja kieli- ja alueasetukset

Meshtastic-sovellus näyttää automaattisesti lämpötilat, etäisyydet, nopeudet ja ajat niissä yksiköissä, jotka laitteesi on asetettu käyttämään — asetuksia ei tarvitse muuttaa sovelluksessa.


Miten se toimii

Meshtastic-radiot lähettävät tiedot aina metrisissä yksiköissä (metri, °C, m/s, hPa jne.). Kun sovellus vastaanottaa nämä tiedot, se muuntaa ja näyttää arvot laitteesi alueasetusten mukaisessa yksikköjärjestelmässä.

Androidissa mittausasetukset määräytyvät järjestelmän Kieli ja alue -asetusten mukaan. Työpöytäversiossa (JVM) sovellus käyttää JVM:n oletus-Locale-asetusta.

💡 Vinkki: Mittayksiköitä ei tarvitse koskaan vaihtaa sovelluksen sisältä. Muuta järjestelmäsi mittayksikköasetuksia, niin kaikki Meshtasticin näkymät päivittyvät automaattisesti — radion tiedot, telemetriakaaviot, sää, korkeus ja paljon muuta.


Lämpötila

Lämpötila-arvot ympäristösensoreista lähetetään muodossa °C ja näytetään laitteen lämpötila-asetusten mukaisesti.

Ympäristömittarit lämpötilan kanssa

Asetuksesi Näet
Celsius 22 °C
Fahrenheit 72 °F

Tämä vaikuttaa kaikkiin lämpötilanäyttöihin sovelluksessa: radion ympäristötelemetria, maaperän lämpötila, kastepiste ja telemetriakäyrien akselit.

Etäisyys ja korkeus

Radioiden väliset etäisyydet ja GPS-korkeudet lähetetään metreinä ja muunnetaan sekä skaalataan automaattisesti.

Etäisyystietonäkymä

Asetuksesi Pieni etäisyys Suuri etäisyys Korkeus
Metrijärjestelmä 350 m 2,5 km 1 200 m
Imperiaalinen (US) 1,148 ft 1.6 mi 3,937 ft

Sovellus käyttää luonnollista skaalausta — lyhyet etäisyydet pysyvät metreissä tai jaloissa, kun taas pidemmät etäisyydet vaihtuvat automaattisesti kilometreihin tai maileihin.

Missä nämä näkyvät

  • Radiolista — etäisyys ja suunta jokaiseen radioon
  • Radion tiedot — korkeus ja etäisyys sijainnistasi
  • Kartta — reittipisteiden etäisyydet ja reitinselvityksen hyppy-etäisyydet
  • Kompassi — etäisyys valittuun radioon

Nopeus

GPS-maanopeus näytetään laitteesi kieli- ja alueasetusten mukaisessa nopeusyksikössä.

Asetuksesi Näet
Metrijärjestelmä 12 km/h
Imperiaalinen (US) 7 mph

Tuuli

Tuulen nopeus- ja puuskadata ympäristösensoreista lähetetään muodossa m/s ja muunnetaan näyttöä varten.

Asetuksesi Näet
Metrijärjestelmä 5 m/s
Imperiaalinen (US) 11 mph

Tuulimittaukset näkyvät Radion tiedot -näkymän ympäristöosiossa sekä Ympäristötelemetria -kaavioissa.

Sademäärä

Sademittaukset (1 tunnin ja 24 tunnin yhteismäärät) lähetetään muodossa mm ja muunnetaan näyttöä varten.

Asetuksesi Näet
Metrijärjestelmä 12 mm
Imperiaalinen (US) 0.5 in

Yksiköt, jotka eivät muutu

Jotkin yksiköt ovat kansainvälisiä standardeja ja näkyvät samalla tavalla kieli- ja alueasetuksista riippumatta:

Mittaus Yksikkö Miksi
Ilmanpaine hPa Kansainvälinen meteorologinen standardi
Suunta / suuntima ° (astetta) Universaali navigointikäytäntö
Säteily μR/hr Standardi dosimetria-yksikkö
GPS-koordinaatit desimaaliasteet Kansainvälinen maantieteellinen standardi
Kosteus, akku ja maaperän kosteus % Yleinen

Päivämäärä ja aika

Kaikki aikaleimat koko sovelluksessa — viimeksi kuultu, viestien ajat, telemetrialokit, kaavioakselit — noudattavat laitteesi päivämäärä- ja aika-asetuksia.

Asetus Mitä se ohjaa Esimerkki
24 tunnin aika Aikamuoto 14:30 vs 2:30 PM
Päivämäärämuoto Päivämäärän järjestys 09/05/2026 vs 05/09/2026

Sovellus käyttää myös suhteellista aikaa silloin kun se on järkevää — esimerkiksi “5 min sitten” tai “2 tuntia sitten” radiolistassa — ja tämä mukautuu automaattisesti laitteesi kieleen.

Mittausjärjestelmän vaihtaminen (Android)

Androidissa mittausjärjestelmäsi (metrinen vs imperial) on sidottu alueasetuksiin:

  1. Avaa Asetukset → Järjestelmä → Kieli ja alue
  2. Vaihda Alue- tai Mittausyksiköt-asetusta
  3. Palaa Meshtasticiin — arvot päivittyvät välittömästi

💡 Vinkki: Kaikki mittausten muotoilut tehdään keskitetysti ja ne noudattavat käyttöympäristösi alueasetuksia, joten yksiköt pysyvät yhtenäisinä kaikkialla sovelluksessa.

Aiheeseen liittyvät aiheet



diff --git a/v2.8.0/fi-rFI/user/widget.html b/v2.8.0/fi-rFI/user/widget.html deleted file mode 100644 index 38db5657b2..0000000000 --- a/v2.8.0/fi-rFI/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Aloitusnäytön widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Suomi
Meshtastic Docs ↗

🌐 Suomi — Community translation View in English

Aloitusnäytön widget

Androidissa Meshtastic tarjoaa aloitusnäytölle widgetin, joka näyttää yhdistetyn radiosi paikalliset tilastot yhdellä silmäyksellä — sovellusta ei tarvitse avata.

Mitä se näyttää

Widget näyttää yhdistetyn radion tämänhetkiset paikalliset tilastot:

  • Akun varaustaso — radion akun varaustaso tai Verkkovirta, jos radio käyttää ulkoista virtalähdettä
  • ChUtil — kanavan käyttöaste (kuinka kuormitettu LoRa-kanava on prosentteina)
  • AirUtil — lähetysajan käyttöaste (kuinka suuren osan lähetysajasta radiosi käyttää)
  • Liikenne — lähetetyt ja vastaanotetut paketit sekä havaitut kaksoiskappaleet
  • Välitykset — välitetyt paketit ja välityksen peruutukset (näytetään, kun radio toimii välittäjänä)

Avaa sovellus napauttamalla widgetiä tai pyydä uudet tilastot sen päivityspainikkeella.

💡 Vinkki: Arvot vastaavat sitä radiota, johon olet parhaillaan yhdistetty. Jos sovellus ei ole yhdistetty radioon, widget näyttää viimeksi tunnetut tilastot, kunnes yhteys muodostuu uudelleen.

Widgetin lisääminen

  1. Paina pitkään tyhjää kohtaa Androidin aloitusnäytössä.
  2. Napauta Widgetit.
  3. Etsi luettelosta Meshtastic ja vedä Paikalliset tilastot -widget aloitusnäyttöön.
  4. Muuta widgetin kokoa tarvittaessa — asettelu mukautuu käytettävissä olevaan tilaan.

⚠️ Huomautus: Widget on käytettävissä vain Androidissa. Se ei ole käytettävissä Desktop- tai iOS-versioissa.

Aiheeseen liittyvät aiheet

  • Radion mittarit — täydellinen signaalin laatu- ja paikalliset tilastot -historia sovelluksessa
  • Yhteydet — yhdistä radioon, jotta widgetillä on näytettäviä tilastoja
  • Haku — kanavan ja lähetysajan käyttöaste koko verkossa


diff --git a/v2.8.0/fr-rFR/index.html b/v2.8.0/fr-rFR/index.html deleted file mode 100644 index 45d271e3bc..0000000000 --- a/v2.8.0/fr-rFR/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Description
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/fr-rFR/user/android-auto.html b/v2.8.0/fr-rFR/user/android-auto.html deleted file mode 100644 index 8fbd46d4a0..0000000000 --- a/v2.8.0/fr-rFR/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nœuds

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/fr-rFR/user/app-functions.html b/v2.8.0/fr-rFR/user/app-functions.html deleted file mode 100644 index dd67d3d046..0000000000 --- a/v2.8.0/fr-rFR/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/fr-rFR/user/connections.html b/v2.8.0/fr-rFR/user/connections.html deleted file mode 100644 index 7ad969d36e..0000000000 --- a/v2.8.0/fr-rFR/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connexions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Connexions

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Description
🟢 Connecté Active radio link established
🟡 Connexion en cours Handshake in progress
🔴 Déconnecté No active connection
⚪ Not configured Aucun appareil sélectionné

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/fr-rFR/user/debug-logs.html b/v2.8.0/fr-rFR/user/debug-logs.html deleted file mode 100644 index 85e3b1426f..0000000000 --- a/v2.8.0/fr-rFR/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/fr-rFR/user/desktop.html b/v2.8.0/fr-rFR/user/desktop.html deleted file mode 100644 index 1957f8ca0e..0000000000 --- a/v2.8.0/fr-rFR/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Carte ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Réglages ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Mise à jour du firmware ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/fr-rFR/user/discovery.html b/v2.8.0/fr-rFR/user/discovery.html deleted file mode 100644 index d7f9dc20a4..0000000000 --- a/v2.8.0/fr-rFR/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Découverte | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Découverte

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Description
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Utilisation du canal How busy the airwaves were during the dwell.
Temps d’émission Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informations sur les voisins

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/fr-rFR/user/firmware.html b/v2.8.0/fr-rFR/user/firmware.html deleted file mode 100644 index ffe4900cdc..0000000000 --- a/v2.8.0/fr-rFR/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canal Description
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Fichier local Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/fr-rFR/user/help-and-docs.html b/v2.8.0/fr-rFR/user/help-and-docs.html deleted file mode 100644 index 3a0d80e2e9..0000000000 --- a/v2.8.0/fr-rFR/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/fr-rFR/user/map-and-waypoints.html b/v2.8.0/fr-rFR/user/map-and-waypoints.html deleted file mode 100644 index 4150ae8a62..0000000000 --- a/v2.8.0/fr-rFR/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Description
Nom Short identifier (max 29 characters)
Description Optional longer description
Icon Visual marker emoji on the map
Verrouillé If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Couches cartographiques

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/fr-rFR/user/messages-and-channels.html b/v2.8.0/fr-rFR/user/messages-and-channels.html deleted file mode 100644 index 25303cb912..0000000000 --- a/v2.8.0/fr-rFR/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Canaux

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Sécurité du canal

Channels support multiple encryption levels:

Icon Security Level Description
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Messages directs

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Délivré au nœud For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routage via chaîne SF++… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmé via chaîne SF++ Confirmed delivered via the SF++ chain
Erreur Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Erreur Meaning What to Do
Pas de route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Délai d’expiration No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Pas d’interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Pas de canal ou d’autorisation The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Pas de réponse Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Mauvaise requête Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/fr-rFR/user/mqtt.html b/v2.8.0/fr-rFR/user/mqtt.html deleted file mode 100644 index d6b4de4246..0000000000 --- a/v2.8.0/fr-rFR/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Description Par défaut
Server Address MQTT broker hostname mqtt.meshtastic.org
Nom d’utilisateur Broker authentication meshdev
Mot de passe Broker authentication large4cats
Root Topic Base topic for messages msh
Chiffrement Encrypt MQTT payload Activé
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Désactivé
TLS Secure connection to broker Désactivé
Map Reporting Report position to public map Désactivé

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Description
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Description Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/fr-rFR/user/node-metrics.html b/v2.8.0/fr-rFR/user/node-metrics.html deleted file mode 100644 index aeafe3ca07..0000000000 --- a/v2.8.0/fr-rFR/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Métriques de l’appareil

Basic operating information reported by each node:

Metric Description
Niveau de batterie Current battery percentage
Tension Battery voltage reading
Utilisation du canal Percentage of airtime consumed
Temps d’émission Transmission time used by this node
Durée de fonctionnement Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Métriques d’environnement

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Température BME280, BME680, SHT31
Humidité BME280, BME680, SHT31
Pression Barométrique BME280, BMP280
Résistance au gaz BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Description
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bon < 1000 Vert
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Rouge
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Métriques de Signal

Radio signal quality information:

Metric Description
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bon SNR above the preset’s limit
Passable less than 5.5 dB below the limit
Mauvais 5.5 dB to 7.5 dB below the limit
Aucun more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Métriques d’alimentation

Power management telemetry (requires INA sensor or compatible hardware):

Metric Description
Bus Voltage Supply voltage
Actif Power draw in milliamps
Alimentation Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Journal des positions

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Informations sur les voisins

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/fr-rFR/user/nodes.html b/v2.8.0/fr-rFR/user/nodes.html deleted file mode 100644 index 298414800f..0000000000 --- a/v2.8.0/fr-rFR/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nœuds | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Nœuds

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Rôle Description
Client Standard end-user device
Base Client Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client muet Receives but doesn’t retransmit
Client masqué Like Client Mute, plus hides from node list
Routeur Prioritizes message forwarding; stays awake to relay
Routeur avec retard Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Traqueur Optimized for position reporting at regular intervals
Capteur Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
Traqueur TAK TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Supprimer le nœud

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtre Description
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Description
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Niveau de batterie Battery
Hop count Hops
Dernière écoute Last heard
Distance Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/fr-rFR/user/onboarding.html b/v2.8.0/fr-rFR/user/onboarding.html deleted file mode 100644 index 20913aa36c..0000000000 --- a/v2.8.0/fr-rFR/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/fr-rFR/user/settings-module-admin.html b/v2.8.0/fr-rFR/user/settings-module-admin.html deleted file mode 100644 index 2138e5954c..0000000000 --- a/v2.8.0/fr-rFR/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Configuration du module

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Description
Activé Toggle MQTT bridge
Serveur MQTT broker address
Nom d’utilisateur Authentication username
Mot de passe Authentication password
Chiffrement Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Description
Activé Activate serial communication
Écho Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Vitesse en bauds Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Description
Activé Activate notifications
Message d’alerte Notify on incoming messages
Message d’alerte buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Bip d’alerte Notify on bell character
Output (GPIO) Pin for notification output
Actif High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Description
Activé Activate store and forward
Battement de cœur (heartbeat) Periodically announce this node’s store-and-forward capability
Enregistrements Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Serveur Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Description
Activé Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Description
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Qualité de l’air activée Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Description
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Envoyer un bip Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Description
Activé Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Description
Activé Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Description
Activé Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Description
État des LED Turn the LED on or off
Actif LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Description
Activé Activate detection sensor
Broche de monitoring GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Envoyer un bip Include bell character in alerts
Nom convivial Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Description
Activé Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Administration à distance

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Nettoyer la base de données des nœuds

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Redémarrer

Remotely reboot a connected or administered node.

Panneau de débogage

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/fr-rFR/user/settings-radio-user.html b/v2.8.0/fr-rFR/user/settings-radio-user.html deleted file mode 100644 index 06757f88c7..0000000000 --- a/v2.8.0/fr-rFR/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

Paramètres utilisateur

User Profile

Setting Description
Nom long Your display name (up to 39 characters)
Nom court 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Configuration de l’appareil

Setting Description Par défaut
Rôle Node behavior (Client, Router, etc.) Client
Mode de réémission How the node retransmits messages Tout
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Désactivé

Configuration LoRa

Setting Description Par défaut
Région Regulatory region for frequency bands Unset (must configure)
Préréglage du modem Speed/range tradeoff LongFast
Limite de sauts Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Décalage de fréquence Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Vitesse SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Configuration de l’écran

Setting Description
Délai d’extinction de l’écran Time before display sleeps
Unités affichées Metric or Imperial
Type d’OLED Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Configuration de la position

Setting Description
GPS Enabled Enable/disable GPS
Intervalle de mise à jour GPS How often to acquire GPS fix
Position Broadcast (s) How often to share position
Position Intelligente Enable movement-based broadcasting
Position fixe Use a manually set position

Configuration de l’alimentation

Setting Description
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Configuration du réseau

Setting Description
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Mot de passe du réseau
Serveur NTP Time synchronization server
Syslog Server Remote logging server

IP address field

Configuration Bluetooth

Setting Description
Bluetooth Enabled Enable/disable BLE radio
Mode d’appairage Fixed PIN, Random PIN, or No PIN
Code PIN fixe PIN code for pairing (default: 123456)

Configuration de sécurité

Setting Description
Clé publique Your node’s public key (read-only)
Clé Admin Key for remote administration
Clé privée Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Mode géré Restrict non-admin channel changes
Sauvegarder les clés Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/fr-rFR/user/signal-meter.html b/v2.8.0/fr-rFR/user/signal-meter.html deleted file mode 100644 index 199e9e5b7a..0000000000 --- a/v2.8.0/fr-rFR/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bon 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Passable 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Mauvais 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Aucun 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/fr-rFR/user/tak.html b/v2.8.0/fr-rFR/user/tak.html deleted file mode 100644 index a37d7e120d..0000000000 --- a/v2.8.0/fr-rFR/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Description
Activé Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Rôle Description
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Description
Couleur de l’équipe Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Rôle Membre Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/fr-rFR/user/telemetry-and-sensors.html b/v2.8.0/fr-rFR/user/telemetry-and-sensors.html deleted file mode 100644 index 569c8d50c8..0000000000 --- a/v2.8.0/fr-rFR/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Description Typical Range
Niveau de batterie Charge percentage 0–100%
Tension Battery voltage 3.0–4.2V (LiPo)
Utilisation du canal % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Durée de fonctionnement Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Capteur Température Humidité Pression Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Capteur Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Capteur Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Métriques d’alimentation

Nodes with INA-series power sensors can report:

Metric Description
Bus Voltage Supply rail voltage
Actif Power consumption (mA)
Alimentation Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Description
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/fr-rFR/user/translate.html b/v2.8.0/fr-rFR/user/translate.html deleted file mode 100644 index 1376423056..0000000000 --- a/v2.8.0/fr-rFR/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/fr-rFR/user/units-and-locale.html b/v2.8.0/fr-rFR/user/units-and-locale.html deleted file mode 100644 index 71063ceea4..0000000000 --- a/v2.8.0/fr-rFR/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Température

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Vitesse

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Vent

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/fr-rFR/user/widget.html b/v2.8.0/fr-rFR/user/widget.html deleted file mode 100644 index d3404f963e..0000000000 --- a/v2.8.0/fr-rFR/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Français
Meshtastic Docs ↗

🌐 Français — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/ga-rIE/index.html b/v2.8.0/ga-rIE/index.html deleted file mode 100644 index ca065aef09..0000000000 --- a/v2.8.0/ga-rIE/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Cur síos
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/ga-rIE/user/android-auto.html b/v2.8.0/ga-rIE/user/android-auto.html deleted file mode 100644 index bea13c50f9..0000000000 --- a/v2.8.0/ga-rIE/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/ga-rIE/user/app-functions.html b/v2.8.0/ga-rIE/user/app-functions.html deleted file mode 100644 index 7e29c9a2f9..0000000000 --- a/v2.8.0/ga-rIE/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/ga-rIE/user/connections.html b/v2.8.0/ga-rIE/user/connections.html deleted file mode 100644 index 63e5ec6588..0000000000 --- a/v2.8.0/ga-rIE/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Cur síos
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Na ceangailte No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/ga-rIE/user/debug-logs.html b/v2.8.0/ga-rIE/user/debug-logs.html deleted file mode 100644 index dea5dbd447..0000000000 --- a/v2.8.0/ga-rIE/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/ga-rIE/user/desktop.html b/v2.8.0/ga-rIE/user/desktop.html deleted file mode 100644 index a9be6794f4..0000000000 --- a/v2.8.0/ga-rIE/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/ga-rIE/user/discovery.html b/v2.8.0/ga-rIE/user/discovery.html deleted file mode 100644 index 18bfa4a5ca..0000000000 --- a/v2.8.0/ga-rIE/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Cur síos
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Céim rianadóireachta

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/ga-rIE/user/firmware.html b/v2.8.0/ga-rIE/user/firmware.html deleted file mode 100644 index 15401b6508..0000000000 --- a/v2.8.0/ga-rIE/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Cainéal Cur síos
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/ga-rIE/user/help-and-docs.html b/v2.8.0/ga-rIE/user/help-and-docs.html deleted file mode 100644 index 23c55bed8c..0000000000 --- a/v2.8.0/ga-rIE/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/ga-rIE/user/map-and-waypoints.html b/v2.8.0/ga-rIE/user/map-and-waypoints.html deleted file mode 100644 index fb8aa8861f..0000000000 --- a/v2.8.0/ga-rIE/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Cur síos
Ainm Short identifier (max 29 characters)
Cur síos Optional longer description
Icon Visual marker emoji on the map
Ceangailte If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/ga-rIE/user/messages-and-channels.html b/v2.8.0/ga-rIE/user/messages-and-channels.html deleted file mode 100644 index 4963942d3f..0000000000 --- a/v2.8.0/ga-rIE/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Cur síos
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Earráid Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Earráid Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Am tráth No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Gan anicéir No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Gan cainéal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Iarratas Mícheart Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/ga-rIE/user/mqtt.html b/v2.8.0/ga-rIE/user/mqtt.html deleted file mode 100644 index 6661513c87..0000000000 --- a/v2.8.0/ga-rIE/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Cur síos Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Cur síos
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Cur síos Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/ga-rIE/user/node-metrics.html b/v2.8.0/ga-rIE/user/node-metrics.html deleted file mode 100644 index d1f1c06a52..0000000000 --- a/v2.8.0/ga-rIE/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Cur síos
Battery Level Current battery percentage
Voltage Battery voltage reading
Úsáid cainéil Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Teocht BME280, BME680, SHT31
Laige BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Cur síos
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Maith < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Cur síos
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Maith SNR above the preset’s limit
Ceart go leor less than 5.5 dB below the limit
Go dona 5.5 dB to 7.5 dB below the limit
Ní dhéanfaidh sé more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Cur síos
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Céim rianadóireachta

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Lógáil Seirbhís

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/ga-rIE/user/nodes.html b/v2.8.0/ga-rIE/user/nodes.html deleted file mode 100644 index c2ab65d1ab..0000000000 --- a/v2.8.0/ga-rIE/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Cur síos
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Scagaire Cur síos
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Cur síos
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Deiridh chluinmhu Last heard
Sáth Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/ga-rIE/user/onboarding.html b/v2.8.0/ga-rIE/user/onboarding.html deleted file mode 100644 index 59f1e6756a..0000000000 --- a/v2.8.0/ga-rIE/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/ga-rIE/user/settings-module-admin.html b/v2.8.0/ga-rIE/user/settings-module-admin.html deleted file mode 100644 index fa212ae9a2..0000000000 --- a/v2.8.0/ga-rIE/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Cur síos
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Cur síos
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Cur síos
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Cur síos
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Cur síos
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Cur síos
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Cur síos
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Cur síos
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Cur síos
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Cur síos
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Cur síos
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Cur síos
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Cur síos
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Rialachas

Rialú iargúlta

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Athmhaoinigh

Remotely reboot a connected or administered node.

Painéal Laige

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ga-rIE/user/settings-radio-user.html b/v2.8.0/ga-rIE/user/settings-radio-user.html deleted file mode 100644 index f507a7965f..0000000000 --- a/v2.8.0/ga-rIE/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Cur síos
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Cur síos Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Cur síos Default
Réigiún Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Cur síos
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Cur síos
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Cur síos
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Cur síos
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Cur síos
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Cur síos
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/ga-rIE/user/signal-meter.html b/v2.8.0/ga-rIE/user/signal-meter.html deleted file mode 100644 index 19d1a2cbe6..0000000000 --- a/v2.8.0/ga-rIE/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Maith 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Ceart go leor 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Go dona 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Ní dhéanfaidh sé 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/ga-rIE/user/tak.html b/v2.8.0/ga-rIE/user/tak.html deleted file mode 100644 index 6976d5c600..0000000000 --- a/v2.8.0/ga-rIE/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Cur síos
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Cur síos
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Cur síos
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/ga-rIE/user/telemetry-and-sensors.html b/v2.8.0/ga-rIE/user/telemetry-and-sensors.html deleted file mode 100644 index dc06c48ec3..0000000000 --- a/v2.8.0/ga-rIE/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Cur síos Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Úsáid cainéil % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Teocht Laige Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Cur síos
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Cur síos
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/ga-rIE/user/translate.html b/v2.8.0/ga-rIE/user/translate.html deleted file mode 100644 index c84aabf34d..0000000000 --- a/v2.8.0/ga-rIE/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/ga-rIE/user/units-and-locale.html b/v2.8.0/ga-rIE/user/units-and-locale.html deleted file mode 100644 index ed2da49fb5..0000000000 --- a/v2.8.0/ga-rIE/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Teocht

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/ga-rIE/user/widget.html b/v2.8.0/ga-rIE/user/widget.html deleted file mode 100644 index b9ecf2c4f6..0000000000 --- a/v2.8.0/ga-rIE/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Gaeilge
Meshtastic Docs ↗

🌐 Gaeilge — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/gl-rES/index.html b/v2.8.0/gl-rES/index.html deleted file mode 100644 index c209c92fa8..0000000000 --- a/v2.8.0/gl-rES/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descrición
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/gl-rES/user/android-auto.html b/v2.8.0/gl-rES/user/android-auto.html deleted file mode 100644 index 4d5cbb7be2..0000000000 --- a/v2.8.0/gl-rES/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/gl-rES/user/app-functions.html b/v2.8.0/gl-rES/user/app-functions.html deleted file mode 100644 index e3133e37a2..0000000000 --- a/v2.8.0/gl-rES/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/gl-rES/user/connections.html b/v2.8.0/gl-rES/user/connections.html deleted file mode 100644 index bb7f3e9997..0000000000 --- a/v2.8.0/gl-rES/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descrición
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Desconectado No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/gl-rES/user/debug-logs.html b/v2.8.0/gl-rES/user/debug-logs.html deleted file mode 100644 index 72bb9cdd44..0000000000 --- a/v2.8.0/gl-rES/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/gl-rES/user/desktop.html b/v2.8.0/gl-rES/user/desktop.html deleted file mode 100644 index ca037395fa..0000000000 --- a/v2.8.0/gl-rES/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/gl-rES/user/discovery.html b/v2.8.0/gl-rES/user/discovery.html deleted file mode 100644 index 9651a398d0..0000000000 --- a/v2.8.0/gl-rES/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descrición
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traza-ruta

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/gl-rES/user/firmware.html b/v2.8.0/gl-rES/user/firmware.html deleted file mode 100644 index f9b27b1a99..0000000000 --- a/v2.8.0/gl-rES/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canle Descrición
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/gl-rES/user/help-and-docs.html b/v2.8.0/gl-rES/user/help-and-docs.html deleted file mode 100644 index 529f0143c0..0000000000 --- a/v2.8.0/gl-rES/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/gl-rES/user/map-and-waypoints.html b/v2.8.0/gl-rES/user/map-and-waypoints.html deleted file mode 100644 index 0f0e7e3f0f..0000000000 --- a/v2.8.0/gl-rES/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descrición
Nome Short identifier (max 29 characters)
Descrición Optional longer description
Icon Visual marker emoji on the map
Bloqueado If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/gl-rES/user/messages-and-channels.html b/v2.8.0/gl-rES/user/messages-and-channels.html deleted file mode 100644 index 3762778412..0000000000 --- a/v2.8.0/gl-rES/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Descrición
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Erro Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Erro Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
No Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
No Channel The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Bad Request Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/gl-rES/user/mqtt.html b/v2.8.0/gl-rES/user/mqtt.html deleted file mode 100644 index 7b9f5e47b5..0000000000 --- a/v2.8.0/gl-rES/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Descrición Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descrición
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descrición Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/gl-rES/user/node-metrics.html b/v2.8.0/gl-rES/user/node-metrics.html deleted file mode 100644 index 856d4d48db..0000000000 --- a/v2.8.0/gl-rES/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Descrición
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Descrición
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Descrición
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Descrición
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traza-ruta

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/gl-rES/user/nodes.html b/v2.8.0/gl-rES/user/nodes.html deleted file mode 100644 index 2653f6450d..0000000000 --- a/v2.8.0/gl-rES/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Descrición
Cliente Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtro Descrición
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descrición
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Última escoita Last heard
Distancia Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/gl-rES/user/onboarding.html b/v2.8.0/gl-rES/user/onboarding.html deleted file mode 100644 index f766053c19..0000000000 --- a/v2.8.0/gl-rES/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/gl-rES/user/settings-module-admin.html b/v2.8.0/gl-rES/user/settings-module-admin.html deleted file mode 100644 index ad78f25a17..0000000000 --- a/v2.8.0/gl-rES/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Descrición
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Descrición
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Descrición
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Descrición
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Descrición
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Descrición
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Descrición
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Descrición
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Descrición
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Descrición
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Descrición
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Descrición
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Descrición
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reiniciar

Remotely reboot a connected or administered node.

Panel de depuración

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/gl-rES/user/settings-radio-user.html b/v2.8.0/gl-rES/user/settings-radio-user.html deleted file mode 100644 index 5529a3e690..0000000000 --- a/v2.8.0/gl-rES/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Descrición
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Descrición Default
Role Node behavior (Client, Router, etc.) Cliente
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Descrición Default
Rexión Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Descrición
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Descrición
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Descrición
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Descrición
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Descrición
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Descrición
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/gl-rES/user/signal-meter.html b/v2.8.0/gl-rES/user/signal-meter.html deleted file mode 100644 index 72deea9a7b..0000000000 --- a/v2.8.0/gl-rES/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/gl-rES/user/tak.html b/v2.8.0/gl-rES/user/tak.html deleted file mode 100644 index 89790e0dc6..0000000000 --- a/v2.8.0/gl-rES/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Descrición
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Descrición
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Descrición
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/gl-rES/user/telemetry-and-sensors.html b/v2.8.0/gl-rES/user/telemetry-and-sensors.html deleted file mode 100644 index a1d6edeb1e..0000000000 --- a/v2.8.0/gl-rES/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Descrición Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperature Humidity Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Descrición
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Descrición
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/gl-rES/user/translate.html b/v2.8.0/gl-rES/user/translate.html deleted file mode 100644 index 98147fd1c0..0000000000 --- a/v2.8.0/gl-rES/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/gl-rES/user/units-and-locale.html b/v2.8.0/gl-rES/user/units-and-locale.html deleted file mode 100644 index d9a1eb6c5f..0000000000 --- a/v2.8.0/gl-rES/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/gl-rES/user/widget.html b/v2.8.0/gl-rES/user/widget.html deleted file mode 100644 index 6447120385..0000000000 --- a/v2.8.0/gl-rES/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Galego
Meshtastic Docs ↗

🌐 Galego — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/hr-rHR/index.html b/v2.8.0/hr-rHR/index.html deleted file mode 100644 index c009d4dbf1..0000000000 --- a/v2.8.0/hr-rHR/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Opis
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/hr-rHR/user/android-auto.html b/v2.8.0/hr-rHR/user/android-auto.html deleted file mode 100644 index e13c7e690d..0000000000 --- a/v2.8.0/hr-rHR/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/hr-rHR/user/app-functions.html b/v2.8.0/hr-rHR/user/app-functions.html deleted file mode 100644 index 2e09e64a84..0000000000 --- a/v2.8.0/hr-rHR/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/hr-rHR/user/connections.html b/v2.8.0/hr-rHR/user/connections.html deleted file mode 100644 index 9700d79b1a..0000000000 --- a/v2.8.0/hr-rHR/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Opis
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Odspojeno No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/hr-rHR/user/debug-logs.html b/v2.8.0/hr-rHR/user/debug-logs.html deleted file mode 100644 index 9af48a69a7..0000000000 --- a/v2.8.0/hr-rHR/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/hr-rHR/user/desktop.html b/v2.8.0/hr-rHR/user/desktop.html deleted file mode 100644 index 6f4198a65d..0000000000 --- a/v2.8.0/hr-rHR/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/hr-rHR/user/discovery.html b/v2.8.0/hr-rHR/user/discovery.html deleted file mode 100644 index 5db8a6e4e7..0000000000 --- a/v2.8.0/hr-rHR/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Opis
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/hr-rHR/user/firmware.html b/v2.8.0/hr-rHR/user/firmware.html deleted file mode 100644 index 639d11cf27..0000000000 --- a/v2.8.0/hr-rHR/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Opis
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/hr-rHR/user/help-and-docs.html b/v2.8.0/hr-rHR/user/help-and-docs.html deleted file mode 100644 index 9e5fd9e18f..0000000000 --- a/v2.8.0/hr-rHR/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/hr-rHR/user/map-and-waypoints.html b/v2.8.0/hr-rHR/user/map-and-waypoints.html deleted file mode 100644 index 291e349cb2..0000000000 --- a/v2.8.0/hr-rHR/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Opis
Ime Short identifier (max 29 characters)
Opis Optional longer description
Icon Visual marker emoji on the map
Zaključano If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/hr-rHR/user/messages-and-channels.html b/v2.8.0/hr-rHR/user/messages-and-channels.html deleted file mode 100644 index e71de22070..0000000000 --- a/v2.8.0/hr-rHR/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Opis
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Pogreška Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Pogreška Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
No Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
No Channel The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Bad Request Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/hr-rHR/user/mqtt.html b/v2.8.0/hr-rHR/user/mqtt.html deleted file mode 100644 index ca6a820cff..0000000000 --- a/v2.8.0/hr-rHR/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Opis Zadano
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Opis
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Opis Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/hr-rHR/user/node-metrics.html b/v2.8.0/hr-rHR/user/node-metrics.html deleted file mode 100644 index 7d31947af5..0000000000 --- a/v2.8.0/hr-rHR/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Opis
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Opis
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Crveno
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Opis
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Opis
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/hr-rHR/user/nodes.html b/v2.8.0/hr-rHR/user/nodes.html deleted file mode 100644 index 47f3b7ad82..0000000000 --- a/v2.8.0/hr-rHR/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Opis
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtriraj Opis
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Opis
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Posljednje čuo Last heard
Udaljenost Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/hr-rHR/user/onboarding.html b/v2.8.0/hr-rHR/user/onboarding.html deleted file mode 100644 index 1f7f809aea..0000000000 --- a/v2.8.0/hr-rHR/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/hr-rHR/user/settings-module-admin.html b/v2.8.0/hr-rHR/user/settings-module-admin.html deleted file mode 100644 index d5e0c67cb9..0000000000 --- a/v2.8.0/hr-rHR/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Opis
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Opis
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Opis
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Opis
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Opis
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Opis
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Opis
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Opis
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Opis
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Opis
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Opis
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Opis
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Opis
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Ponovno pokreni

Remotely reboot a connected or administered node.

Otklanjanje pogrešaka

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/hr-rHR/user/settings-radio-user.html b/v2.8.0/hr-rHR/user/settings-radio-user.html deleted file mode 100644 index 760d361705..0000000000 --- a/v2.8.0/hr-rHR/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Opis
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Opis Zadano
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Opis Zadano
Regija Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Opis
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Opis
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Opis
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Opis
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Postavke Bluetootha

Setting Opis
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Opis
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/hr-rHR/user/signal-meter.html b/v2.8.0/hr-rHR/user/signal-meter.html deleted file mode 100644 index 6d8f17b3e7..0000000000 --- a/v2.8.0/hr-rHR/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/hr-rHR/user/tak.html b/v2.8.0/hr-rHR/user/tak.html deleted file mode 100644 index 3e6e532fe1..0000000000 --- a/v2.8.0/hr-rHR/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Opis
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Opis
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Opis
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/hr-rHR/user/telemetry-and-sensors.html b/v2.8.0/hr-rHR/user/telemetry-and-sensors.html deleted file mode 100644 index 48b07a7c2a..0000000000 --- a/v2.8.0/hr-rHR/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Opis Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperature Humidity Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Opis
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Opis
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/hr-rHR/user/translate.html b/v2.8.0/hr-rHR/user/translate.html deleted file mode 100644 index ce7ba8fd14..0000000000 --- a/v2.8.0/hr-rHR/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/hr-rHR/user/units-and-locale.html b/v2.8.0/hr-rHR/user/units-and-locale.html deleted file mode 100644 index 715681872d..0000000000 --- a/v2.8.0/hr-rHR/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/hr-rHR/user/widget.html b/v2.8.0/hr-rHR/user/widget.html deleted file mode 100644 index 5955f50374..0000000000 --- a/v2.8.0/hr-rHR/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Hrvatski
Meshtastic Docs ↗

🌐 Hrvatski — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/ht-rHT/index.html b/v2.8.0/ht-rHT/index.html deleted file mode 100644 index 47c04c2f23..0000000000 --- a/v2.8.0/ht-rHT/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Deskripsyon
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/ht-rHT/user/android-auto.html b/v2.8.0/ht-rHT/user/android-auto.html deleted file mode 100644 index 2691496e92..0000000000 --- a/v2.8.0/ht-rHT/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/ht-rHT/user/app-functions.html b/v2.8.0/ht-rHT/user/app-functions.html deleted file mode 100644 index 8d150c2be6..0000000000 --- a/v2.8.0/ht-rHT/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/ht-rHT/user/connections.html b/v2.8.0/ht-rHT/user/connections.html deleted file mode 100644 index fe53001c6e..0000000000 --- a/v2.8.0/ht-rHT/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Deskripsyon
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Dekonekte No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/ht-rHT/user/debug-logs.html b/v2.8.0/ht-rHT/user/debug-logs.html deleted file mode 100644 index cf34517730..0000000000 --- a/v2.8.0/ht-rHT/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/ht-rHT/user/desktop.html b/v2.8.0/ht-rHT/user/desktop.html deleted file mode 100644 index b858244537..0000000000 --- a/v2.8.0/ht-rHT/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/ht-rHT/user/discovery.html b/v2.8.0/ht-rHT/user/discovery.html deleted file mode 100644 index 0716936b75..0000000000 --- a/v2.8.0/ht-rHT/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Deskripsyon
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/ht-rHT/user/firmware.html b/v2.8.0/ht-rHT/user/firmware.html deleted file mode 100644 index 13bdeb2931..0000000000 --- a/v2.8.0/ht-rHT/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

kanal Deskripsyon
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/ht-rHT/user/help-and-docs.html b/v2.8.0/ht-rHT/user/help-and-docs.html deleted file mode 100644 index 517d7cd113..0000000000 --- a/v2.8.0/ht-rHT/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/ht-rHT/user/map-and-waypoints.html b/v2.8.0/ht-rHT/user/map-and-waypoints.html deleted file mode 100644 index 19998aeaae..0000000000 --- a/v2.8.0/ht-rHT/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Deskripsyon
Non Short identifier (max 29 characters)
Deskripsyon Optional longer description
Icon Visual marker emoji on the map
Loken If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/ht-rHT/user/messages-and-channels.html b/v2.8.0/ht-rHT/user/messages-and-channels.html deleted file mode 100644 index 604a8a2efc..0000000000 --- a/v2.8.0/ht-rHT/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Deskripsyon
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Erè Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Erè Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Tan pase No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Pa gen entèfas No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Pa gen kanal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Demann move Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/ht-rHT/user/mqtt.html b/v2.8.0/ht-rHT/user/mqtt.html deleted file mode 100644 index 71799b84d9..0000000000 --- a/v2.8.0/ht-rHT/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Deskripsyon Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Deskripsyon
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Deskripsyon Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/ht-rHT/user/node-metrics.html b/v2.8.0/ht-rHT/user/node-metrics.html deleted file mode 100644 index ba038ea2cc..0000000000 --- a/v2.8.0/ht-rHT/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Deskripsyon
Battery Level Current battery percentage
Voltage Battery voltage reading
Itilizasyon Kanal Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Tanperati BME280, BME680, SHT31
Imidite BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Deskripsyon
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bon < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Deskripsyon
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bon SNR above the preset’s limit
Mwayen less than 5.5 dB below the limit
Move 5.5 dB to 7.5 dB below the limit
Pa gen more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Deskripsyon
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Jounal Pozisyon

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/ht-rHT/user/nodes.html b/v2.8.0/ht-rHT/user/nodes.html deleted file mode 100644 index f0584d809b..0000000000 --- a/v2.8.0/ht-rHT/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Deskripsyon
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtre Deskripsyon
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Deskripsyon
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Dènye fwa li tande Last heard
Distans Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/ht-rHT/user/onboarding.html b/v2.8.0/ht-rHT/user/onboarding.html deleted file mode 100644 index c2acb477fa..0000000000 --- a/v2.8.0/ht-rHT/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/ht-rHT/user/settings-module-admin.html b/v2.8.0/ht-rHT/user/settings-module-admin.html deleted file mode 100644 index 53cb3a06ac..0000000000 --- a/v2.8.0/ht-rHT/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Deskripsyon
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Deskripsyon
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Deskripsyon
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Deskripsyon
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Deskripsyon
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Deskripsyon
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Deskripsyon
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Deskripsyon
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Deskripsyon
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Deskripsyon
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Deskripsyon
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Deskripsyon
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Deskripsyon
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administrasyon

Administrasyon Remote

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Rekòmanse

Remotely reboot a connected or administered node.

Panno Debug

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ht-rHT/user/settings-radio-user.html b/v2.8.0/ht-rHT/user/settings-radio-user.html deleted file mode 100644 index 1a4fe2ab36..0000000000 --- a/v2.8.0/ht-rHT/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Deskripsyon
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Deskripsyon Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Deskripsyon Default
Rejyon Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Deskripsyon
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Deskripsyon
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Deskripsyon
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Deskripsyon
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Deskripsyon
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Deskripsyon
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/ht-rHT/user/signal-meter.html b/v2.8.0/ht-rHT/user/signal-meter.html deleted file mode 100644 index f0cd918fb0..0000000000 --- a/v2.8.0/ht-rHT/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bon 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Mwayen 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Move 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Pa gen 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/ht-rHT/user/tak.html b/v2.8.0/ht-rHT/user/tak.html deleted file mode 100644 index c05397cfee..0000000000 --- a/v2.8.0/ht-rHT/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Deskripsyon
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Deskripsyon
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Deskripsyon
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/ht-rHT/user/telemetry-and-sensors.html b/v2.8.0/ht-rHT/user/telemetry-and-sensors.html deleted file mode 100644 index c107651fb2..0000000000 --- a/v2.8.0/ht-rHT/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Deskripsyon Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Itilizasyon Kanal % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Tanperati Imidite Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Deskripsyon
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Deskripsyon
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/ht-rHT/user/translate.html b/v2.8.0/ht-rHT/user/translate.html deleted file mode 100644 index 431f521d27..0000000000 --- a/v2.8.0/ht-rHT/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/ht-rHT/user/units-and-locale.html b/v2.8.0/ht-rHT/user/units-and-locale.html deleted file mode 100644 index c9b3e6b777..0000000000 --- a/v2.8.0/ht-rHT/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Tanperati

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/ht-rHT/user/widget.html b/v2.8.0/ht-rHT/user/widget.html deleted file mode 100644 index f581656d46..0000000000 --- a/v2.8.0/ht-rHT/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Kreyòl Ayisyen
Meshtastic Docs ↗

🌐 Kreyòl Ayisyen — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/hu-rHU/index.html b/v2.8.0/hu-rHU/index.html deleted file mode 100644 index 06db5ba042..0000000000 --- a/v2.8.0/hu-rHU/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Leírás
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/hu-rHU/user/android-auto.html b/v2.8.0/hu-rHU/user/android-auto.html deleted file mode 100644 index 9eeb7eada4..0000000000 --- a/v2.8.0/hu-rHU/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Üzenetek

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Csomópontok

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/hu-rHU/user/app-functions.html b/v2.8.0/hu-rHU/user/app-functions.html deleted file mode 100644 index 49b7902ffa..0000000000 --- a/v2.8.0/hu-rHU/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/hu-rHU/user/connections.html b/v2.8.0/hu-rHU/user/connections.html deleted file mode 100644 index 7ba8f597b6..0000000000 --- a/v2.8.0/hu-rHU/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Leírás
🟢 Csatlakoztatva Active radio link established
🟡 Csatlakozás… Handshake in progress
🔴 Szétkapcsolva No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/hu-rHU/user/debug-logs.html b/v2.8.0/hu-rHU/user/debug-logs.html deleted file mode 100644 index f043dc79ec..0000000000 --- a/v2.8.0/hu-rHU/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/hu-rHU/user/desktop.html b/v2.8.0/hu-rHU/user/desktop.html deleted file mode 100644 index 87235a0f74..0000000000 --- a/v2.8.0/hu-rHU/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Jegyzetek
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Térkép ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Beállítások ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/hu-rHU/user/discovery.html b/v2.8.0/hu-rHU/user/discovery.html deleted file mode 100644 index f86d0097f2..0000000000 --- a/v2.8.0/hu-rHU/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Leírás
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Szomszéd-információ

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/hu-rHU/user/firmware.html b/v2.8.0/hu-rHU/user/firmware.html deleted file mode 100644 index 08024280d7..0000000000 --- a/v2.8.0/hu-rHU/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Csatorna Leírás
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/hu-rHU/user/help-and-docs.html b/v2.8.0/hu-rHU/user/help-and-docs.html deleted file mode 100644 index 5d12ca9cd5..0000000000 --- a/v2.8.0/hu-rHU/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/hu-rHU/user/map-and-waypoints.html b/v2.8.0/hu-rHU/user/map-and-waypoints.html deleted file mode 100644 index d6eab77b3a..0000000000 --- a/v2.8.0/hu-rHU/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Leírás
Név Short identifier (max 29 characters)
Leírás Optional longer description
Icon Visual marker emoji on the map
Zárolt If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Térképrétegek

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/hu-rHU/user/messages-and-channels.html b/v2.8.0/hu-rHU/user/messages-and-channels.html deleted file mode 100644 index 07f73e28f2..0000000000 --- a/v2.8.0/hu-rHU/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Csatornák

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Csatorna biztonság

Channels support multiple encryption levels:

Icon Security Level Leírás
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Hiba Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Hiba Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Időtúllépés No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Nincs Interfész No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Nincs Csatorna The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Hibás kérés Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Típus Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/hu-rHU/user/mqtt.html b/v2.8.0/hu-rHU/user/mqtt.html deleted file mode 100644 index b32e6ae770..0000000000 --- a/v2.8.0/hu-rHU/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Leírás Alapértelmezett
Server Address MQTT broker hostname mqtt.meshtastic.org
Felhasználónév Broker authentication meshdev
Jelszó Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Engedélyezve
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Leírás
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Leírás Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/hu-rHU/user/node-metrics.html b/v2.8.0/hu-rHU/user/node-metrics.html deleted file mode 100644 index 02e0e637b3..0000000000 --- a/v2.8.0/hu-rHU/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Eszközmetrikák

Basic operating information reported by each node:

Metric Leírás
Battery Level Current battery percentage
Feszültség Battery voltage reading
Csatornahasználat Percentage of airtime consumed
Airtime Transmission time used by this node
Működési idő Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Környezeti metrikák

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Hőmérséklet BME280, BME680, SHT31
Páratartalom BME280, BME680, SHT31
Légnyomás BME280, BMP280
Gázellenállás BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Leírás
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Jó < 1000 Zöld
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Piros
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Leírás
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Jó SNR above the preset’s limit
Megfelelő less than 5.5 dB below the limit
Rossz 5.5 dB to 7.5 dB below the limit
Semmi more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Tápellátási metrikák

Power management telemetry (requires INA sensor or compatible hardware):

Metric Leírás
Bus Voltage Supply voltage
Áramerősség Power draw in milliamps
Energia Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Pozíciónapló

Historical position data for nodes that share their location:

  • GPS coordinates
  • Magasság
  • Speed (if moving)
  • Timestamp for each position report

Szomszéd-információ

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/hu-rHU/user/nodes.html b/v2.8.0/hu-rHU/user/nodes.html deleted file mode 100644 index 08567161e4..0000000000 --- a/v2.8.0/hu-rHU/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Csomópontok | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Csomópontok

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Szerepkör Leírás
Kliens Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Néma Kliens Receives but doesn’t retransmit
Rejtett Kliens Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Késő Router Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Szenzor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Leírás
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Leírás
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Utoljára hallott Last heard
Távolság Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/hu-rHU/user/onboarding.html b/v2.8.0/hu-rHU/user/onboarding.html deleted file mode 100644 index 222806b60f..0000000000 --- a/v2.8.0/hu-rHU/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/hu-rHU/user/settings-module-admin.html b/v2.8.0/hu-rHU/user/settings-module-admin.html deleted file mode 100644 index 55c98b5e94..0000000000 --- a/v2.8.0/hu-rHU/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Leírás
Engedélyezve Toggle MQTT bridge
Szerver MQTT broker address
Felhasználónév Authentication username
Jelszó Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Leírás
Engedélyezve Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Leírás
Engedélyezve Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Leírás
Engedélyezve Activate store and forward
Heartbeat jel Periodically announce this node’s store-and-forward capability
Bejegyzések Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Szerver Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Leírás
Engedélyezve Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Leírás
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Leírás
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Üzenetek Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Leírás
Engedélyezve Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Leírás
Engedélyezve Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Leírás
Engedélyezve Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Leírás
LED State Turn the LED on or off
Áramerősség LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Leírás
Engedélyezve Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Leírás
Engedélyezve Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Adminisztráció

Távoli Adminisztráció

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Csomópont-adatbázis tisztítása

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Újraindítás

Remotely reboot a connected or administered node.

Hibakereső panel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/hu-rHU/user/settings-radio-user.html b/v2.8.0/hu-rHU/user/settings-radio-user.html deleted file mode 100644 index 7c6e8f5cec..0000000000 --- a/v2.8.0/hu-rHU/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Leírás
Hosszú név Your display name (up to 39 characters)
Rövid név 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Eszközbeállítások

Setting Leírás Alapértelmezett
Szerepkör Node behavior (Client, Router, etc.) Kliens
Újrasugárzási mód How the node retransmits messages Összes
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa beállítások

Setting Leírás Alapértelmezett
Régió Regulatory region for frequency bands Unset (must configure)
Modem-előbeállítás Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Sebesség SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Kijelző beállítások

Setting Leírás
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Pozíció beállítások

Setting Leírás
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Intelligens pozíció Enable movement-based broadcasting
Rögzített pozíció Use a manually set position

Energia-beállítások

Setting Leírás
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Hálózati beállítások

Setting Leírás
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth beállítások

Setting Leírás
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Rögzített PIN PIN code for pairing (default: 123456)

Biztonsági beállítások

Setting Leírás
Nyilvános kulcs Your node’s public key (read-only)
Admin kulcs Key for remote administration
Privát kulcs Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Felügyelt mód Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/hu-rHU/user/signal-meter.html b/v2.8.0/hu-rHU/user/signal-meter.html deleted file mode 100644 index 414129f649..0000000000 --- a/v2.8.0/hu-rHU/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Jó 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Megfelelő 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Rossz 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Semmi 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/hu-rHU/user/tak.html b/v2.8.0/hu-rHU/user/tak.html deleted file mode 100644 index 18f2b20758..0000000000 --- a/v2.8.0/hu-rHU/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Leírás
Engedélyezve Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Szerepkör Leírás
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Leírás
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/hu-rHU/user/telemetry-and-sensors.html b/v2.8.0/hu-rHU/user/telemetry-and-sensors.html deleted file mode 100644 index ee6c8b36b8..0000000000 --- a/v2.8.0/hu-rHU/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Leírás Typical Range
Battery Level Charge percentage 0–100%
Feszültség Battery voltage 3.0–4.2V (LiPo)
Csatornahasználat % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Működési idő Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Szenzor Hőmérséklet Páratartalom Nyomás Jegyzetek
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Szenzor Metric Jegyzetek
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Szenzor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Tápellátási metrikák

Nodes with INA-series power sensors can report:

Metric Leírás
Bus Voltage Supply rail voltage
Áramerősség Power consumption (mA)
Energia Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Leírás
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/hu-rHU/user/translate.html b/v2.8.0/hu-rHU/user/translate.html deleted file mode 100644 index 5da46878a6..0000000000 --- a/v2.8.0/hu-rHU/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Jegyzetek
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/hu-rHU/user/units-and-locale.html b/v2.8.0/hu-rHU/user/units-and-locale.html deleted file mode 100644 index 86d8f81e0e..0000000000 --- a/v2.8.0/hu-rHU/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Hőmérséklet

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Magasság
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Sebesség

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Szél

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Sugárzás μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/hu-rHU/user/widget.html b/v2.8.0/hu-rHU/user/widget.html deleted file mode 100644 index aa228cbbb1..0000000000 --- a/v2.8.0/hu-rHU/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Magyar
Meshtastic Docs ↗

🌐 Magyar — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/index.html b/v2.8.0/index.html deleted file mode 100644 index b011e4b697..0000000000 --- a/v2.8.0/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Redirecting... - - - - - -

Redirecting to en/...

- - diff --git a/v2.8.0/index.json b/v2.8.0/index.json deleted file mode 100644 index 2a6c259dff..0000000000 --- a/v2.8.0/index.json +++ /dev/null @@ -1,869 +0,0 @@ -[ - {"id":"android-auto","title":"Android Auto","section":"user","locale":"en","resourcePath":"docs/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"en","resourcePath":"docs/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3065}, - {"id":"connections","title":"Connections","section":"user","locale":"en","resourcePath":"docs/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4851}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"en","resourcePath":"docs/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"en","resourcePath":"docs/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":4811}, - {"id":"discovery","title":"Discovery","section":"user","locale":"en","resourcePath":"docs/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":10266}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"en","resourcePath":"docs/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4678}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"en","resourcePath":"docs/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"en","resourcePath":"docs/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6225}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"en","resourcePath":"docs/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":10256}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"en","resourcePath":"docs/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":6592}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"en","resourcePath":"docs/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "position", "log", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":7400}, - {"id":"nodes","title":"Nodes","section":"user","locale":"en","resourcePath":"docs/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":8103}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"en","resourcePath":"docs/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4017}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"en","resourcePath":"docs/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":10934}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"en","resourcePath":"docs/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":9138}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"en","resourcePath":"docs/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5570}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"en","resourcePath":"docs/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":6478}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"en","resourcePath":"docs/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":4912}, - {"id":"translate","title":"Translate the App","section":"user","locale":"en","resourcePath":"docs/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4057}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"en","resourcePath":"docs/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":4801}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"en","resourcePath":"docs/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"adding-a-feature-module","title":"Adding a Feature Module","section":"developer","locale":"en","resourcePath":"docs/developer/adding-a-feature-module.html","navOrder":3,"keywords":["adding", "feature", "module", "create", "the", "directory", "build", "gradle", "kts", "register", "settings", "app", "desktop", "add", "navigation", "routes", "entries", "source", "set", "guidelines", "testing", "expectations", "checklist"],"aliases":["new-module", "feature-module", "module-guide"],"charCount":3743}, - {"id":"architecture","title":"Architecture","section":"developer","locale":"en","resourcePath":"docs/developer/architecture.html","navOrder":1,"keywords":["architecture", "layer", "overview", "module", "categories", "androidapp", "android", "application", "desktopapp", "desktop", "jvm", "feature", "modules", "core", "kmp", "source", "sets", "dependency", "injection", "radio", "control", "service", "repository", "navigation"],"aliases":["layers", "module-architecture", "kmp", "radio-control"],"charCount":7274}, - {"id":"codebase","title":"Codebase","section":"developer","locale":"en","resourcePath":"docs/developer/codebase.html","navOrder":2,"keywords":["codebase", "repository", "structure", "namespacing", "convention", "build", "system", "gradle", "kotlin", "dsl", "plugins", "variants", "android", "key", "tasks", "compile", "check", "across", "all", "kmp", "targets", "run", "tests", "code", "quality", "desktop", "native", "installers", "for", "the"],"aliases":["repository-layout", "project-structure", "source-code"],"charCount":3982}, - {"id":"contributing","title":"Contributing","section":"developer","locale":"en","resourcePath":"docs/developer/contributing.html","navOrder":8,"keywords":["contributing", "branch", "naming", "development", "workflow", "commit", "messages", "pull", "request", "checklist", "code", "style", "architecture", "rules", "verification", "getting", "help"],"aliases":["contributing", "pull-request", "branch-naming"],"charCount":3262}, - {"id":"measurement","title":"Measurement & Formatting","section":"developer","locale":"en","resourcePath":"docs/developer/measurement.html","navOrder":9,"keywords":["measurement", "formatting", "overview", "metricformatter", "api", "usage", "numberformatter", "unit", "conversion", "adding", "new", "type", "dateformatter", "design", "decisions", "related"],"aliases":["measurement", "metric-formatter", "number-formatter"],"charCount":6015}, - {"id":"navigation-and-deep-links","title":"Navigation & Deep Links","section":"developer","locale":"en","resourcePath":"docs/developer/navigation-and-deep-links.html","navOrder":4,"keywords":["navigation", "deep", "links", "route", "architecture", "hierarchy", "conventions", "link", "router", "uri", "format", "supported", "backstack", "synthesis", "adding", "entry", "registration", "testing"],"aliases":["deeplinks", "navigation-3", "routes"],"charCount":6867}, - {"id":"persistence","title":"Persistence","section":"developer","locale":"en","resourcePath":"docs/developer/persistence.html","navOrder":6,"keywords":["persistence", "room", "kmp", "database", "key", "points", "what", "stored", "datastore", "preferences", "core", "prefs", "docs", "intentionally", "skip", "best", "practices"],"aliases":["room", "database", "datastore", "prefs"],"charCount":3274}, - {"id":"testing","title":"Testing","section":"developer","locale":"en","resourcePath":"docs/developer/testing.html","navOrder":7,"keywords":["testing", "test", "categories", "kmp", "unit", "tests", "commontest", "android", "host", "compose", "screenshot", "baseline", "profile", "startup", "performance", "organization", "guidelines", "don", "running", "all", "specific", "module", "code", "quality", "full", "verification", "integration"],"aliases":["tests", "unit-tests", "screenshot-tests"],"charCount":4673}, - {"id":"transport","title":"Transport","section":"developer","locale":"en","resourcePath":"docs/developer/transport.html","navOrder":5,"keywords":["transport", "abstraction", "bluetooth", "low", "energy", "ble", "key", "classes", "usb", "serial", "tcp", "factory", "connection", "lifecycle", "adding", "new"],"aliases":["ble", "serial", "tcp", "radio-transport"],"charCount":3210}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2937}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12751}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9872}, - {"id":"nodes","title":"Nodes","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15873}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["الإعدادات", "radio-config", "user-config", "lora"],"charCount":14947}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5912}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6448}, - {"id":"translate","title":"Translate the App","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5826}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"ar-rSA","resourcePath":"docs/ar-rSA/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2939}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from", "source"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6177}, - {"id":"discovery","title":"Discovery","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2058}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12810}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/mqtt.html","navOrder":11,"keywords":["mqtt", "how", "works", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7860}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9928}, - {"id":"nodes","title":"Nodes","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11285}, - {"id":"onboarding","title":"Начало работы","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/onboarding.html","navOrder":1,"keywords":["first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4020}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15905}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14945}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5906}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/tak.html","navOrder":10,"keywords":["tak", "integration", "setup", "prerequisites", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6515}, - {"id":"translate","title":"Translate the App","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5833}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2958}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3532}, - {"id":"connections","title":"Връзки","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/connections.html","navOrder":2,"keywords":["bluetooth", "ble", "troubleshooting", "usb", "serial", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":5090}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3019}, - {"id":"desktop","title":"Настолно приложение","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/desktop.html","navOrder":14,"keywords":["linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from", "source", "known", "limitations"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6210}, - {"id":"discovery","title":"Откриване","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/discovery.html","navOrder":12,"keywords":["local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12557}, - {"id":"firmware","title":"Актуализации на фърмуера","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/firmware.html","navOrder":13,"keywords":["ota", "over", "the", "air", "bluetooth", "app", "usb", "update", "other", "flashing", "options", "stuck", "device", "won", "boot", "after", "compatibility", "warnings", "related", "topics"],"aliases":["firmware", "update", "ota", "flash"],"charCount":5117}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2076}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6465}, - {"id":"messages-and-channels","title":"Съобщения & Канали","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/messages-and-channels.html","navOrder":3,"keywords":["default", "channel", "adding", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "messages", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "related", "topics"],"aliases":["канали", "direct-messages", "messaging", "conversations"],"charCount":12778}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/mqtt.html","navOrder":11,"keywords":["mqtt", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7924}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9979}, - {"id":"nodes","title":"Възли","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/nodes.html","navOrder":4,"keywords":["node", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11315}, - {"id":"onboarding","title":"Първи стъпки","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/onboarding.html","navOrder":1,"keywords":["first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4057}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "factory", "reset", "troubleshooting", "related"],"aliases":["modules", "module-config", "administration"],"charCount":15986}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "lora", "modem", "presets", "bluetooth", "related", "topics"],"aliases":["настройки", "radio-config", "user-config", "lora"],"charCount":15204}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5964}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/tak.html","navOrder":10,"keywords":["tak", "integration", "setup", "prerequisites", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8938}, - {"id":"telemetry-and-sensors","title":"Телеметрия & Сензори","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/telemetry-and-sensors.html","navOrder":9,"keywords":["device", "telemetry", "configuring", "recommended", "intervals", "air", "quality", "metrics", "viewing", "related", "topics"],"aliases":["сензори", "околна среда", "времето", "power-metrics"],"charCount":6705}, - {"id":"translate","title":"Translate the App","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "adding", "new", "language", "how", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4478}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "distance", "altitude", "where", "these", "appear", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5871}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1872}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "tra", "ruta", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12525}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12976}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "tra", "ruta", "reading", "traceroute", "results", "position", "log", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9868}, - {"id":"nodes","title":"Nodes","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15884}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6490}, - {"id":"translate","title":"Translate the App","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"ca-rES","resourcePath":"docs/ca-rES/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "zpr", "uzly", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2945}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3526}, - {"id":"connections","title":"Připojení","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/connections.html","navOrder":2,"keywords":["ipojen", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4950}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3013}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6177}, - {"id":"discovery","title":"Objevujte","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/discovery.html","navOrder":12,"keywords":["objevujte", "local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "informace", "sousedech", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12532}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4916}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2069}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "mapov", "vrstvy", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6437}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kan", "default", "channel", "zabezpe", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12788}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "nastaven", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7860}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "metriky", "zen", "prost", "air", "quality", "signal", "reference", "nap", "jen", "traceroute", "reading", "results", "protokol", "pozic", "informace", "sousedech", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9848}, - {"id":"nodes","title":"Uzly","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/nodes.html","navOrder":4,"keywords":["uzly", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11276}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administrace", "vzd", "len"],"aliases":["modules", "module-config", "administration"],"charCount":15906}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "nastaven", "zen", "lora", "modem", "presets", "zobrazen", "pozice", "nap", "jen", "bluetooth", "zabezpe", "related", "topics"],"aliases":["nastavení", "radio-config", "user-config", "lora"],"charCount":14972}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5906}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "nastaven", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8898}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "metriky", "nap", "jen", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6423}, - {"id":"translate","title":"Translate the App","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "jak", "isp", "adding", "new", "language", "how", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4452}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "teplota", "distance", "altitude", "where", "these", "appear", "rychlost", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5889}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"cs-rCZ","resourcePath":"docs/cs-rCZ/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1866}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "bersicht", "nachrichten", "knoten", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2949}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "datenschutz", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3590}, - {"id":"connections","title":"Verbindungen","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/connections.html","navOrder":2,"keywords":["verbindungen", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "einstellungen", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "Kopplung"],"charCount":5039}, - {"id":"debug-logs","title":"Fehlersuchprotokolle","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/debug-logs.html","navOrder":22,"keywords":["fehlersuchprotokolle", "the", "two", "tabs", "viewing", "app", "logs", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3099}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "tastaturk", "rzel", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6204}, - {"id":"discovery","title":"Entdecken","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/discovery.html","navOrder":12,"keywords":["entdecken", "local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "nachbarinformation", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12718}, - {"id":"firmware","title":"Firmwareaktualisierungen","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/firmware.html","navOrder":13,"keywords":["firmwareaktualisierungen", "checking", "for", "updates", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "fehlerbehebung", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4921}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "suchen", "chirpy", "the", "assistant", "related", "topics"],"aliases":["Hilfe", "docs-browser", "chirpy", "assistant"],"charCount":2066}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "kartensteuerung", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "kartenebenen", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6515}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kan", "default", "channel", "kanalsicherheit", "adding", "direktnachrichten", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "bew", "hrte", "praktiken", "related"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12924}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/mqtt.html","navOrder":11,"keywords":["mqtt", "bersicht", "funktioniert", "einstellungen", "aktivieren", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "bew", "hrte", "praktiken", "fehlerbehebung", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7855}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "ger", "tedaten", "umweltdaten", "air", "quality", "signaldaten", "signal", "reference", "energiedaten", "traceroute", "reading", "results", "standortprotokoll", "nachbarinformation", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":10394}, - {"id":"nodes","title":"Knoten","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/nodes.html","navOrder":4,"keywords":["knoten", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11471}, - {"id":"onboarding","title":"Erste Schritte","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/onboarding.html","navOrder":1,"keywords":["erste", "schritte", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4061}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "moduleinstellungen", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "einstellung", "ferneinstellung", "knotendatenbank"],"aliases":["modules", "module-config", "administration"],"charCount":15896}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "benutzereinstellungen", "profile", "applying", "changes", "einstellungen", "ger", "teeinstellungen", "lora", "modem", "presets", "anzeigeeinstellungen", "standorteinstellungen", "energie", "netzwerkeinstellungen", "bluetooth", "sicherheitseinstellungen", "related", "topics"],"aliases":["Einstellungen", "radio-config", "user-config", "lora"],"charCount":15581}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":6556}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/tak.html","navOrder":10,"keywords":["tak", "integration", "bersicht", "einstellungen", "voraussetzungen", "atak", "plugin", "setup", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "fehlerbehebung", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8957}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "bersicht", "ger", "tetelemetrie", "environment", "temperature", "humidity", "air", "quality", "light", "energiedaten", "configuring", "recommended", "intervals", "metrics", "viewing", "fehlerbehebung", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6522}, - {"id":"translate","title":"Translate the App","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "wie", "man", "beitragen", "kann", "adding", "new", "language", "how", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4517}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "funktioniert", "temperatur", "distance", "altitude", "where", "these", "appear", "geschwindigkeit", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5908}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"de-rDE","resourcePath":"docs/de-rDE/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1862}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12787}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7864}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9883}, - {"id":"nodes","title":"Nodes","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "clean", "node", "database"],"aliases":["modules", "module-config", "administration"],"charCount":15911}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["ρυθμίσεις", "radio-config", "user-config", "lora"],"charCount":14950}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6483}, - {"id":"translate","title":"Translate the App","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"el-rGR","resourcePath":"docs/el-rGR/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "visi", "general", "mensajes", "nodos", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2944}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Conexiones","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/connections.html","navOrder":2,"keywords":["conexiones", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4952}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "informaci", "vecinos", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12533}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "capas", "del", "mapa", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6446}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "canales", "default", "channel", "seguridad", "del", "canal", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12766}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/mqtt.html","navOrder":11,"keywords":["mqtt", "visi", "general", "how", "works", "configuraci", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7850}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "tricas", "dispositivo", "entorno", "air", "quality", "signal", "reference", "energ", "traceroute", "reading", "results", "registro", "posiciones", "informaci", "vecinos", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9910}, - {"id":"nodes","title":"Nodos","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/nodes.html","navOrder":4,"keywords":["nodos", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Primeros Pasos","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/onboarding.html","navOrder":1,"keywords":["primeros", "pasos", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4022}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administraci", "remota", "limpiar"],"aliases":["modules", "module-config", "administration"],"charCount":15898}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuraci", "del", "dispositivo", "lora", "modem", "presets", "pantalla", "posici", "elecenerg", "red", "bluetooth", "seguridad", "related", "topics"],"aliases":["ajustes", "radio-config", "user-config", "lora"],"charCount":15332}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5924}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/tak.html","navOrder":10,"keywords":["tak", "integration", "visi", "general", "setup", "prerequisites", "configuraci", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8912}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "visi", "general", "device", "environment", "temperature", "humidity", "air", "quality", "light", "tricas", "energ", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6605}, - {"id":"translate","title":"Translate the App","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatura", "distance", "altitude", "where", "these", "appear", "velocidad", "viento", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5837}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"es-rES","resourcePath":"docs/es-rES/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android auto","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "numid", "lmed", "status", "related", "topics"],"aliases":["android auto", "auto", "head-unit", "auto"],"charCount":2982}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "süsteemi-ti", "gemini", "assistant"],"charCount":3590}, - {"id":"connections","title":"Ühendus","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/connections.html","navOrder":2,"keywords":["hendus", "sinihammas", "ble", "seadme", "sidumine", "connection", "status", "sinihamba", "veaotsing", "usb", "port", "seadistamine", "tcp", "connecting", "over", "the", "network", "millal", "kasutada", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["sinihammas", "usb", "tcp", "seon"],"charCount":4935}, - {"id":"debug-logs","title":"Arendaja logid","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/debug-logs.html","navOrder":22,"keywords":["arendaja", "logid", "the", "two", "tabs", "viewing", "app", "logs", "exporting", "laud", "related", "topics"],"aliases":["arendaja-logid", "logcat", "app-logs", "bug-report"],"charCount":3063}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "paigaldus", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "port", "esmane", "tcp", "sinihammas", "ble", "feature", "parity", "differences", "kiirklahvid", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from", "source"],"aliases":["töölaud", "linux", "macos", "windows", "jvm"],"charCount":6345}, - {"id":"discovery","title":"Avastamine","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/discovery.html","navOrder":12,"keywords":["avastamine", "kohalik", "rgv", "rgu", "avastaja", "skanner", "setting", "scan", "live", "progress", "reading", "the", "results", "majakas", "manual", "exploration", "marsruudi", "running", "traceroute", "troubleshooting", "with", "naabruse", "teave", "enabling", "neighbor", "info", "viewing", "data", "lmede", "loend"],"aliases":["kärgvõrgu-avastamine", "kohalik-avastamine", "network-scan", "traceroute", "neighbor-info"],"charCount":12820}, - {"id":"firmware","title":"Püsivara värskendus","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/firmware.html","navOrder":13,"keywords":["sivara", "rskendus", "kontrollin", "rskendust", "rskendamise", "meetod", "ota", "over", "the", "air", "sinihamba", "abil", "rakendusesisene", "usb", "muud", "sivarauuenduse", "valikud", "versioonikanalid", "eelv", "rskenduse", "kontrollnimekiri", "troubleshooting", "ummikus", "seade", "ivitu", "rast", "rskendamist", "compatibility", "warnings", "related"],"aliases":["püsivara", "värskendus", "ota", "püsivarauuendus"],"charCount":5090}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2132}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "teekonnapunkt", "loo", "waypoint", "properties", "expiration", "teekonnapunktide", "geopiirded", "managing", "kaardikihid", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["kaart", "teekonnapunkt", "gps", "asukoht", "site-planner", "map-layers", "geojson", "kml"],"charCount":6626}, - {"id":"messages-and-channels","title":"Sõnumid ja kanalid","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/messages-and-channels.html","navOrder":3,"keywords":["numid", "kanalid", "kanal", "vaikekanal", "kanali", "turvalisus", "lisa", "direct", "messages", "sending", "message", "numi", "olek", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "teksti", "vormindamine", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related"],"aliases":["kanalid", "direct-messages", "messaging", "conversations"],"charCount":12807}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "tted", "luba", "proxy", "this", "phone", "meshtastic", "vaikemaakler", "private", "broker", "map", "reporting", "leslink", "allalink", "numivormingud", "encryption", "privacy", "best", "practices", "troubleshooting", "hendu", "messages", "not", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7795}, - {"id":"node-metrics","title":"Sõlme mõõdikud","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/node-metrics.html","navOrder":5,"keywords":["lme", "dikud", "seadme", "keskkonnam", "air", "quality", "metrics", "signaali", "signal", "reference", "imsusn", "itajad", "marsruudi", "reading", "traceroute", "results", "asukoha", "logi", "naabruse", "teave", "viewing", "related", "topics"],"aliases":["meetriline", "telemetry", "sõlme-mõõdikud", "signal"],"charCount":10187}, - {"id":"nodes","title":"Sõlmed","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/nodes.html","navOrder":4,"keywords":["lmed", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "lme", "ppe", "kohta", "detail", "seadme", "lingid", "soovin", "hte", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11720}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "tervituskuva", "permissions", "sinihamba", "load", "location", "permission", "rguannete", "critical", "alerts", "peale", "seadistamist", "what", "next"],"aliases":["first-launch", "seadistamine", "intro"],"charCount":4020}, - {"id":"settings-module-admin","title":"Sätted - moodulid & admin","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/settings-module-admin.html","navOrder":8,"keywords":["tted", "moodulid", "admin", "mooduli", "konf", "mqtt", "moodul", "jadapordi", "lise", "teavitusmoodul", "salvesta", "edasta", "kaugustesti", "telemeetria", "eelsalvestatud", "numi", "audio", "kaugriistvara", "naabriinfo", "ambientvalguse", "tuvastusanduri", "paxloenduri", "tak", "haldus", "kaughaldus", "hjenda", "lmede", "andmebaas", "factory", "reset"],"aliases":["moodul", "mooduli sätted", "administration"],"charCount":16567}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "tted", "seadme", "lora", "modem", "presets", "ekraani", "asukoha", "toite", "rgu", "sinihamba", "turva", "related", "topics"],"aliases":["sätted", "radio-config", "user-config", "lora"],"charCount":15203}, - {"id":"signal-meter","title":"Kuidas Meshtastic signaalimõõtur töötab","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/signal-meter.html","navOrder":15,"keywords":["kuidas", "meshtastic", "signaalim", "tur", "tab", "the", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "how", "signal", "meter", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5957}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "seadistamine", "prerequisites", "tted", "atak", "plugina", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "numivorming", "kasutamine", "koos", "atakiga", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "meeskonna teadlikkuse komplekt"],"charCount":9250}, - {"id":"telemetry-and-sensors","title":"Telemeetria & Sensorid","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemeetria", "sensorid", "telemetria", "levaade", "device", "telemetry", "environment", "sensors", "temperature", "humidity", "air", "quality", "valgus", "imsusn", "itajad", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensorid", "environment", "ilm", "power-metrics"],"charCount":6297}, - {"id":"translate","title":"Tõlgi rakendus","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/translate.html","navOrder":17,"keywords":["lgi", "rakendus", "mida", "lgitakse", "how", "contribute", "lisa", "uus", "keel", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["tõlgi", "crowdin", "localization"],"charCount":4348}, - {"id":"units-and-locale","title":"Ühikud, mõõtühikud ja lokaat","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/units-and-locale.html","navOrder":16,"keywords":["hikud", "lokaat", "how", "works", "temperatuur", "distance", "altitude", "where", "these", "appear", "kiirus", "tuul", "rainfall", "units", "that", "never", "change", "date", "time", "changing", "your", "measurement", "system", "android", "related", "topics"],"aliases":[],"charCount":5839}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"et-rEE","resourcePath":"docs/et-rEE/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1802}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "yleiskatsaus", "viestit", "laitteet", "tila", "aiheeseen", "liittyv", "aiheet"],"aliases":["android-auto", "auto", "päälaite", "auto"],"charCount":3129}, - {"id":"app-functions","title":"Sovellustoiminnot","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/app-functions.html","navOrder":19,"keywords":["sovellustoiminnot", "sovellustoimintojen", "ytt", "notto", "kirjoitustoiminnot", "lukutoiminnot", "yksityisyys", "aiheeseen", "liittyv", "aiheet"],"aliases":["sovellustoiminnot", "järjestelmä-ai", "gemini", "avustaja"],"charCount":3856}, - {"id":"connections","title":"Yhteydet","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/connections.html","navOrder":2,"keywords":["yhteydet", "bluetooth", "ble", "laitteen", "pariliitos", "yhteyden", "tila", "bluetoothin", "vianm", "ritys", "usb", "sarjaporttiyhteys", "asetukset", "tcp", "verkko", "yhdist", "minen", "verkon", "kautta", "milloin", "yhteytt", "kannattaa", "ytt", "uudelleenyhdist", "misen", "toiminta", "aiheeseen", "liittyv", "aiheet"],"aliases":["bluetooth", "usb", "tcp", "pariliitos"],"charCount":5205}, - {"id":"debug-logs","title":"Virheenjäljityslokitiedot","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/debug-logs.html","navOrder":22,"keywords":["virheenj", "ljityslokitiedot", "kaksi", "lilehte", "sovelluslokitietojen", "tarkastelu", "lokien", "vienti", "aiheeseen", "liittyv", "aiheet"],"aliases":["debug-lokitiedot", "logcat", "sovelluslokitiedot", "vikailmoitus"],"charCount":3495}, - {"id":"desktop","title":"Työpöytäsovellus","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/desktop.html","navOrder":14,"keywords":["sovellus", "asennus", "linux", "macos", "windows", "radioon", "yhdist", "minen", "usb", "sarjaportti", "ensisijainen", "tcp", "bluetooth", "ble", "ominaisuuksien", "yhtenevyys", "ytt", "liittym", "erot", "pikan", "imet", "ikkuna", "rjestelm", "tarjotin", "ilmoitusasetukset", "sis", "nrakennettu", "dokumentaatioselain", "rakentaminen", "hdekoodista"],"aliases":["työpöytä", "linux", "macos", "windows", "jvm"],"charCount":7341}, - {"id":"discovery","title":"Haku","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/discovery.html","navOrder":12,"keywords":["haku", "paikallinen", "verkon", "scanner", "skannauksen", "asetukset", "reaaliaikainen", "edistyminen", "tulosten", "lukeminen", "verkkokutsu", "manuaalinen", "reitinselvitys", "reitinselvityksen", "suorittaminen", "vianm", "ritys", "naapuritieto", "naapuritiedon", "ytt", "notto", "katselu", "radiolista", "hakuty", "kaluna", "uusien", "radioiden", "minen", "yhteyksien", "arviointi"],"aliases":["mesh-verkon haku", "paikallinen haku", "verkkohaku", "reitinselvitys", "naapuritieto"],"charCount":13793}, - {"id":"firmware","title":"Laiteohjelmiston päivitykset","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/firmware.html","navOrder":13,"keywords":["laiteohjelmiston", "ivitykset", "ivitysten", "tarkistaminen", "ivitysmenetelm", "ota", "over", "the", "air", "bluetooth", "yhteyden", "kautta", "usb", "ivitys", "sovelluksesta", "muut", "ivitysvaihtoehdot", "versiokanavat", "ivityst", "edelt", "tarkistuslista", "ivityksen", "lkeen", "vianetsint", "jumissa", "laite", "ynnisty", "yhteensopivuutta", "koskevat", "varoitukset"],"aliases":["firmware", "päivitä", "ota", "ohjelmoi"],"charCount":5596}, - {"id":"help-and-docs","title":"Ohjeet jasovelluksen sisäinen dokumentaatio","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/help-and-docs.html","navOrder":21,"keywords":["ohjeet", "jasovelluksen", "sis", "inen", "dokumentaatio", "sovelluksen", "selaaminen", "haku", "chirpy", "teko", "lyn", "avustaja", "aiheeseen", "liittyv", "aiheet"],"aliases":["apua", "dokumenttiselain", "chirpy", "avustaja"],"charCount":2415}, - {"id":"map-and-waypoints","title":"Kartta ja reittipisteet","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/map-and-waypoints.html","navOrder":6,"keywords":["kartta", "reittipisteet", "karttan", "kym", "radioiden", "merkinn", "kartan", "hallinta", "reittipisteen", "luominen", "ominaisuudet", "vanheneminen", "reittipisteiden", "aluerajaukset", "karttatasot", "site", "planner", "sijainnin", "jakaminen", "jakamisen", "ytt", "notto", "tietosuoja", "karttal", "hteet", "aiheeseen", "liittyv", "aiheet"],"aliases":["kartta", "reittipisteet", "gps", "sijainti", "site-planner", "karttatasot", "geojson", "kml"],"charCount":7476}, - {"id":"messages-and-channels","title":"Viestit ja kanavat","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/messages-and-channels.html","navOrder":3,"keywords":["viestit", "kanavat", "oletuskanava", "kanavan", "turvallisuus", "lis", "minen", "yksityisviestit", "yksityisviestin", "hett", "viestin", "tilat", "toimitusvirheet", "viestiominaisuudet", "pikachatti", "viestien", "haku", "viestikuplat", "tekstin", "muotoilu", "maininnat", "reaktiot", "viestitoiminnot", "prioriteetti", "viestirajoitukset", "parhaat", "aiheeseen", "liittyv", "aiheet"],"aliases":["kanavat", "yksityisviestit", "viestit", "keskustelut"],"charCount":14581}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/mqtt.html","navOrder":11,"keywords":["mqtt", "yleiskatsaus", "kuinka", "toimii", "asetukset", "ytt", "notto", "lityspalvelin", "puhelimessa", "oletus", "meshtastic", "oma", "karttaraportointi", "hetys", "vastaanotto", "viestiformaatit", "salaus", "yksityisyys", "parhaat", "vianetsint", "yhdist", "viestit", "eiv", "lity", "aiheeseen", "liittyv", "aiheet"],"aliases":["mqtt", "internet-silta", "välityspalvelin"],"charCount":8621}, - {"id":"node-metrics","title":"Radion mittarit","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/node-metrics.html","navOrder":5,"keywords":["radion", "mittarit", "laitteen", "mittausloki", "ymp", "rist", "arvot", "ilmanlaatumittarit", "signaalin", "voimakkuudet", "laadun", "viitearvot", "virranhallinnan", "reitinselvitys", "reitinselvityksen", "tulosten", "lukeminen", "sijainnin", "loki", "naapuritieto", "mittareiden", "tarkastelu", "aiheeseen", "liittyv", "aiheet"],"aliases":["mittarit", "telemetria", "laitteen mittarit", "signaali"],"charCount":11584}, - {"id":"nodes","title":"Laitteet","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/nodes.html","navOrder":4,"keywords":["laitteet", "radiolista", "radion", "tilailmaisimet", "roolit", "roolin", "valitseminen", "salausilmaisimet", "pikatoiminnot", "suodatus", "lajittelu", "tekstihaku", "suodatusvalinnat", "lajitteluvaihtoehdot", "radiot", "hyppym", "mukaan", "tiedot", "laite", "linkit", "haluan", "sellaisen", "aiheeseen", "liittyv", "aiheet"],"aliases":["radiolista", "mesh-radiot", "vertaisradiot", "Hyppymääräjakauma"],"charCount":12857}, - {"id":"onboarding","title":"Aloittaminen","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/onboarding.html","navOrder":1,"keywords":["aloittaminen", "ensimm", "inen", "ynnistys", "aloitusn", "kym", "ytt", "oikeudet", "bluetooth", "oikeus", "sijaintik", "ilmoitusk", "kriittisten", "lytysten", "rityksen", "lkeen", "mit", "seuraavaksi"],"aliases":["ensimmäinen käynnistys", "asetukset", "esittely"],"charCount":4565}, - {"id":"settings-module-admin","title":"Asetukset — Moduulit ja ylläpito","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/settings-module-admin.html","navOrder":8,"keywords":["asetukset", "moduulit", "yll", "pito", "moduulin", "ritys", "mqtt", "moduuli", "sarjaporttimoduuli", "ulkoisten", "ilmoitusten", "varastoi", "lit", "kuuluvuustesti", "telemetriamoduuli", "valmiiden", "viestien", "nimoduuli", "laitteiston", "naapuritieto", "ymp", "rist", "valaistusmoduuli", "tunnistusanturimoduuli", "pax", "laskurimoduuli", "tak", "hallinta", "tyhjenn", "nodedb"],"aliases":["moduulit", "moduulin asetukset", "ylläpito"],"charCount":18618}, - {"id":"settings-radio-user","title":"Asetukset — Radio ja käyttäjä","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/settings-radio-user.html","navOrder":7,"keywords":["asetukset", "radio", "ytt", "profiili", "muutosten", "notto", "laitteen", "lora", "esiasetukset", "sijainnin", "virran", "verkon", "bluetooth", "turvallisuusasetukset", "aiheeseen", "liittyv", "aiheet"],"aliases":["asetukset", "radion asetukset", "käyttäjän asetukset", "lora"],"charCount":17419}, - {"id":"signal-meter","title":"Kuinka Meshtastic-signaalimittari toimii","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/signal-meter.html","navOrder":15,"keywords":["kuinka", "meshtastic", "signaalimittari", "toimii", "kaksi", "mittaria", "voimakkuus", "selkeys", "lora", "taika", "kuuleminen", "kohinan", "alta", "laskee", "laadun", "mit", "tarkoittaa", "sinulle", "miss", "signaalitieto", "kyy", "aiheeseen", "liittyv", "aiheet"],"aliases":["signaali", "signaalimittari", "snr", "rssi"],"charCount":6076}, - {"id":"tak","title":"TAK-integraatio","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/tak.html","navOrder":10,"keywords":["tak", "integraatio", "yleiskatsaus", "asetukset", "edellytykset", "atak", "lis", "osan", "asennus", "paikallinen", "palvelin", "roolit", "cot", "cursor", "target", "muoto", "identiteetti", "wire", "format", "ytt", "kanssa", "vianetsint", "tietoturvahuomiot", "aiheeseen", "liittyv", "aiheet"],"aliases":["tak", "atak", "team awareness kit"],"charCount":10310}, - {"id":"telemetry-and-sensors","title":"Telemetria ja anturit","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetria", "anturit", "yleiskatsaus", "laitteen", "telemetriatiedot", "ymp", "rist", "tila", "kosteus", "ilmanlaatu", "valo", "virranhallinnan", "arvot", "telemetrian", "ritt", "minen", "suositellut", "raportointiv", "lit", "ilmanlaatumittarit", "tarkastelu", "vianetsint", "aiheeseen", "liittyv", "aiheet"],"aliases":["sensorit", "ympäristö", "sää", "virtamittarit"],"charCount":7309}, - {"id":"translate","title":"Käännä sovellus","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/translate.html","navOrder":17,"keywords":["sovellus", "mit", "nnet", "kuinka", "voi", "osallistua", "uuden", "kielen", "lis", "minen", "kset", "rjestetty", "sohjeet", "kysytt"],"aliases":["käännä", "crowdin", "lokalisointi"],"charCount":4670}, - {"id":"units-and-locale","title":"Yksiköt, mittaus ja kieli- ja alueasetukset","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/units-and-locale.html","navOrder":16,"keywords":["yksik", "mittaus", "kieli", "alueasetukset", "miten", "toimii", "tila", "isyys", "korkeus", "miss", "kyv", "nopeus", "tuuli", "sadem", "jotka", "eiv", "muutu", "aika", "mittausj", "rjestelm", "vaihtaminen", "android", "aiheeseen", "liittyv", "aiheet"],"aliases":[],"charCount":6245}, - {"id":"widget","title":"Aloitusnäytön widget","section":"user","locale":"fi-rFI","resourcePath":"docs/fi-rFI/user/widget.html","navOrder":20,"keywords":["aloitusn", "widget", "mit", "ytt", "widgetin", "lis", "minen", "aiheeseen", "liittyv", "aiheet"],"aliases":["widget", "aloitusnäytön widget", "paikalliset tilastot widget"],"charCount":2086}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "uds", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2950}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3528}, - {"id":"connections","title":"Connexions","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/connections.html","navOrder":2,"keywords":["connexions", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4976}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3015}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Découverte","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/discovery.html","navOrder":12,"keywords":["couverte", "local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "informations", "sur", "les", "voisins", "enabling", "neighbor", "info", "viewing", "data", "node", "list"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12541}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4911}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2071}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "couches", "cartographiques", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6455}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "canaux", "default", "channel", "curit", "canal", "adding", "directs", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12920}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7864}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "triques", "appareil", "environnement", "air", "quality", "signal", "reference", "alimentation", "traceroute", "reading", "results", "journal", "des", "positions", "informations", "sur", "les", "voisins", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9961}, - {"id":"nodes","title":"Nœuds","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/nodes.html","navOrder":4,"keywords":["uds", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11298}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "configuration", "module", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "distance", "nettoyer"],"aliases":["modules", "module-config", "administration"],"charCount":16003}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "param", "tres", "utilisateur", "profile", "applying", "changes", "configuration", "appareil", "lora", "modem", "presets", "cran", "position", "alimentation", "seau", "bluetooth", "curit", "related", "topics"],"aliases":["paramètres", "radio-config", "user-config", "lora"],"charCount":15160}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5918}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8926}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "triques", "alimentation", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6534}, - {"id":"translate","title":"Translate the App","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temp", "rature", "distance", "altitude", "where", "these", "appear", "vitesse", "vent", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5832}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"fr-rFR","resourcePath":"docs/fr-rFR/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1868}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "rianad", "ireachta", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12534}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12764}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "rianad", "ireachta", "reading", "traceroute", "results", "seirbh", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9892}, - {"id":"nodes","title":"Nodes","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11285}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "rialachas", "rial", "iarg"],"aliases":["modules", "module-config", "administration"],"charCount":15869}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5966}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6427}, - {"id":"translate","title":"Translate the App","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "teocht", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5825}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"ga-rIE","resourcePath":"docs/ga-rIE/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traza", "ruta", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traza", "ruta", "reading", "traceroute", "results", "position", "log", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9867}, - {"id":"nodes","title":"Nodes","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15884}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6490}, - {"id":"translate","title":"Translate the App","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"gl-rES","resourcePath":"docs/gl-rES/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "position", "log", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9867}, - {"id":"nodes","title":"Nodes","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15892}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "postavke", "bluetootha", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14949}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6490}, - {"id":"translate","title":"Translate the App","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"hr-rHR","resourcePath":"docs/hr-rHR/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6442}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "jounal", "pozisyon", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9856}, - {"id":"nodes","title":"Nodes","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11292}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administrasyon", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15876}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5906}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6462}, - {"id":"translate","title":"Translate the App","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "tanperati", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5828}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"ht-rHT","resourcePath":"docs/ht-rHT/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "zenetek", "csom", "pontok", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2944}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "szomsz", "inform", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12530}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "tegek", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6437}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "csatorn", "default", "channel", "csatorna", "biztons", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12755}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "eszk", "zmetrik", "rnyezeti", "metrik", "air", "quality", "signal", "reference", "pell", "traceroute", "reading", "results", "poz", "napl", "szomsz", "inform", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9878}, - {"id":"nodes","title":"Csomópontok","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/nodes.html","navOrder":4,"keywords":["csom", "pontok", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11290}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "adminisztr", "voli", "csom"],"aliases":["modules", "module-config", "administration"],"charCount":15908}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "eszk", "zbe", "sok", "lora", "modem", "presets", "kijelz", "poz", "energia", "zati", "bluetooth", "biztons", "related", "topics"],"aliases":["beállítások", "radio-config", "user-config", "lora"],"charCount":15042}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5924}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8914}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "pell", "metrik", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6504}, - {"id":"translate","title":"Translate the App","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "klet", "distance", "altitude", "where", "these", "appear", "sebess", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5833}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"hu-rHU","resourcePath":"docs/hu-rHU/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "ferilk", "nnun", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12525}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "ferilk", "nnun", "reading", "traceroute", "results", "position", "log", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9868}, - {"id":"nodes","title":"Nodes","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15880}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6490}, - {"id":"translate","title":"Translate the App","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"is-rIS","resourcePath":"docs/is-rIS/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "panoramica", "messaggi", "nodi", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2939}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connessioni","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/connections.html","navOrder":2,"keywords":["connessioni", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "configurazione", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":5005}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installazione", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6183}, - {"id":"discovery","title":"Discovery","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "informazioni", "vicinato", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12532}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "risoluzione", "problemi", "stuck", "device", "won", "boot", "after", "compatibility"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4901}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "livelli", "della", "mappa", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6451}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "canali", "default", "channel", "sicurezza", "del", "canale", "adding", "messaggi", "diretti", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "buone"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12803}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/mqtt.html","navOrder":11,"keywords":["mqtt", "panoramica", "come", "funziona", "configurazione", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "buone", "pratiche", "risoluzione", "problemi", "not", "connecting", "messages", "bridging", "related"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7863}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "metriche", "dispositivo", "ambientali", "air", "quality", "signal", "reference", "alimentazione", "traceroute", "reading", "results", "registro", "posizione", "informazioni", "vicinato", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9912}, - {"id":"nodes","title":"Nodi","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/nodes.html","navOrder":4,"keywords":["nodi", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11326}, - {"id":"onboarding","title":"Come iniziare","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/onboarding.html","navOrder":1,"keywords":["come", "iniziare", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4020}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "configurazione", "modulo", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "amministrazione", "remota"],"aliases":["modules", "module-config", "administration"],"charCount":15982}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "impostazioni", "utente", "profile", "applying", "changes", "configurazione", "dispositivo", "lora", "modem", "presets", "schermo", "posizione", "alimentazione", "della", "rete", "bluetooth", "sicurezza", "related", "topics"],"aliases":["impostazioni", "radio-config", "user-config", "lora"],"charCount":15157}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5918}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/tak.html","navOrder":10,"keywords":["tak", "integration", "panoramica", "configurazione", "prerequisiti", "atak", "plugin", "setup", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "risoluzione", "problemi", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8934}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "panoramica", "telemetria", "dispositivo", "environment", "temperature", "humidity", "air", "quality", "light", "metriche", "alimentazione", "configuring", "recommended", "intervals", "metrics", "viewing", "risoluzione", "problemi", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6515}, - {"id":"translate","title":"Translate the App","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "come", "funziona", "temperatura", "distance", "altitude", "where", "these", "appear", "velocit", "vento", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5843}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"it-rIT","resourcePath":"docs/it-rIT/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2936}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12525}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "reading", "traceroute", "results", "position", "log", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9868}, - {"id":"nodes","title":"Nodes","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "clean", "node"],"aliases":["modules", "module-config", "administration"],"charCount":15876}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["הגדרות", "radio-config", "user-config", "lora"],"charCount":14944}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6490}, - {"id":"translate","title":"Translate the App","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"iw-rIL","resourcePath":"docs/iw-rIL/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/android-auto.html","navOrder":18,"keywords":["android", "auto"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":1800}, - {"id":"app-functions","title":"アプリ機能","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/app-functions.html","navOrder":19,"keywords":[],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":2145}, - {"id":"connections","title":"コネクション","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/connections.html","navOrder":2,"keywords":["bluetooth", "ble", "usb", "tcp"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":3322}, - {"id":"debug-logs","title":"デバッグログ","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/debug-logs.html","navOrder":22,"keywords":[],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":1847}, - {"id":"desktop","title":"デスクトップアプリ","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/desktop.html","navOrder":14,"keywords":["linux", "macos", "windows", "usb", "tcp", "bluetooth", "ble"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":4235}, - {"id":"discovery","title":"探索","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/discovery.html","navOrder":12,"keywords":[],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":7704}, - {"id":"firmware","title":"ファームウェア更新","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/firmware.html","navOrder":13,"keywords":["bluetooth", "ota", "usb"],"aliases":["firmware", "update", "ota", "flash"],"charCount":3225}, - {"id":"help-and-docs","title":"ヘルプとアプリ内ドキュメント","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/help-and-docs.html","navOrder":21,"keywords":["chirpy"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":1350}, - {"id":"map-and-waypoints","title":"マップとウェイポイント","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/map-and-waypoints.html","navOrder":6,"keywords":[],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":3978}, - {"id":"messages-and-channels","title":"メッセージとチャンネル","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/messages-and-channels.html","navOrder":3,"keywords":["text", "formatting"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":8426}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/mqtt.html","navOrder":11,"keywords":["mqtt", "proxy", "this", "phone", "meshtastic"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":5593}, - {"id":"node-metrics","title":"ノードメトリクス","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/node-metrics.html","navOrder":5,"keywords":[],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":6060}, - {"id":"nodes","title":"ノード","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/nodes.html","navOrder":4,"keywords":[],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":7256}, - {"id":"onboarding","title":"はじめに","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/onboarding.html","navOrder":1,"keywords":["bluetooth"],"aliases":["初回起動", "セットアップ", "概要"],"charCount":2357}, - {"id":"settings-module-admin","title":"設定:モジュールと管理","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/settings-module-admin.html","navOrder":8,"keywords":["mqtt", "store", "forward", "paxcounter", "tak"],"aliases":["modules", "module-config", "administration"],"charCount":8894}, - {"id":"settings-radio-user","title":"設定:無線機とユーザー","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/settings-radio-user.html","navOrder":7,"keywords":["lora", "bluetooth"],"aliases":["設定", "radio-config", "user-config", "lora"],"charCount":10535}, - {"id":"signal-meter","title":"Meshtastic の信号メーターの仕組み","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/signal-meter.html","navOrder":15,"keywords":["meshtastic", "lora"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":3335}, - {"id":"tak","title":"TAK 連携","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/tak.html","navOrder":10,"keywords":["tak", "atak", "cot", "cursor", "target"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":5780}, - {"id":"telemetry-and-sensors","title":"テレメトリとセンサー","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/telemetry-and-sensors.html","navOrder":9,"keywords":[],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":4048}, - {"id":"translate","title":"アプリを翻訳する","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/translate.html","navOrder":17,"keywords":[],"aliases":["translate", "crowdin", "localization"],"charCount":3231}, - {"id":"units-and-locale","title":"単位・計測・ロケール","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/units-and-locale.html","navOrder":16,"keywords":["android"],"aliases":[],"charCount":3204}, - {"id":"widget","title":"ホーム画面ウィジェット","section":"user","locale":"ja-rJP","resourcePath":"docs/ja-rJP/user/widget.html","navOrder":20,"keywords":[],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1180}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2932}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12511}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12746}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7833}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "reading", "traceroute", "results", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9805}, - {"id":"nodes","title":"노드","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11258}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "clean", "node", "database"],"aliases":["modules", "module-config", "administration"],"charCount":15837}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "lora", "modem", "presets", "related", "topics"],"aliases":["설정", "radio-config", "user-config", "lora"],"charCount":14865}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8883}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6336}, - {"id":"translate","title":"Translate the App","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "speed", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5819}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"ko-rKR","resourcePath":"docs/ko-rKR/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "inut", "kelias", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12528}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6442}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "inut", "kelias", "reading", "traceroute", "results", "pozicijos", "duomen", "urnalas", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9904}, - {"id":"nodes","title":"Nodes","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11299}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administravimas", "nuotolinis", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15888}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5930}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6476}, - {"id":"translate","title":"Translate the App","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperat", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"lt-rLT","resourcePath":"docs/lt-rLT/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "berichten", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2939}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4984}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6450}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kanalen", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12775}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "positie", "logboek", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9828}, - {"id":"nodes","title":"Nodes","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "beheer", "extern", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15860}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "apparaat", "configuratie", "lora", "modem", "presets", "weergave", "positie", "energie", "netwerkconfiguratie", "bluetooth", "beveiligings", "related", "topics"],"aliases":["instellingen", "radio-config", "user-config", "lora"],"charCount":15011}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5906}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6476}, - {"id":"translate","title":"Translate the App","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatuur", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"nl-rNL","resourcePath":"docs/nl-rNL/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6442}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12788}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "posisjonslogg", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9864}, - {"id":"nodes","title":"Nodes","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administrasjon", "fjernadministrasjon", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15878}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5936}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6511}, - {"id":"translate","title":"Translate the App","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatur", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5829}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"no-rNO","resourcePath":"docs/no-rNO/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "wiadomo", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2940}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "poka", "tras", "running", "traceroute", "troubleshooting", "with", "informacje", "siadze", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12533}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "warstwy", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6443}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kana", "default", "channel", "bezpiecze", "stwo", "adding", "bezpo", "rednie", "wiadomo", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12763}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "konfiguracja", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7863}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "metryka", "urz", "dzenia", "metryki", "rodowiskowe", "air", "quality", "signal", "reference", "zasilania", "poka", "tras", "reading", "traceroute", "results", "historia", "pozycji", "informacje", "siadze", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":10002}, - {"id":"nodes","title":"Węzły","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11347}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "konfiguracja", "modu", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "zarz", "dzanie"],"aliases":["modules", "module-config", "administration"],"charCount":15904}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "konfiguracja", "urz", "dzenia", "lora", "modem", "presets", "wietlacza", "pozycjonowania", "zarz", "dzania", "energi", "sieci", "bluetooth", "zabezpiecze", "related", "topics"],"aliases":["ustawienia", "radio-config", "user-config", "lora"],"charCount":15133}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5948}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "konfiguracja", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8897}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "metryki", "zasilania", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6564}, - {"id":"translate","title":"Translate the App","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatura", "distance", "altitude", "where", "these", "appear", "dko", "wiatr", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5834}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"pl-rPL","resourcePath":"docs/pl-rPL/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "mensagens", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2937}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Conexões","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/connections.html","navOrder":2,"keywords":["conex", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4948}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "tra", "rota", "running", "traceroute", "troubleshooting", "with", "informa", "vizinho", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12534}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "camadas", "mapa", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6439}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "canais", "default", "channel", "seguran", "canal", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12788}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "tra", "rota", "reading", "traceroute", "results", "log", "posi", "informa", "vizinho", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9879}, - {"id":"nodes","title":"Nós","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11309}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administra", "remota", "limpar"],"aliases":["modules", "module-config", "administration"],"charCount":15890}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "configura", "dispositivo", "lora", "modem", "presets", "tela", "posi", "energia", "rede", "bluetooth", "seguran", "related", "topics"],"aliases":["configurações", "radio-config", "user-config", "lora"],"charCount":15057}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5906}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6476}, - {"id":"translate","title":"Translate the App","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatura", "distance", "altitude", "where", "these", "appear", "velocidade", "vento", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5836}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"pt-rBR","resourcePath":"docs/pt-rBR/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "mensagens", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2939}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Ligações","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/connections.html","navOrder":2,"keywords":["liga", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4948}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "tra", "rota", "running", "traceroute", "troubleshooting", "with", "informa", "vizinhan", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12537}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "canal", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12749}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configura", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7843}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "tra", "rota", "reading", "traceroute", "results", "hist", "rico", "posi", "informa", "vizinhan", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9894}, - {"id":"nodes","title":"Nodes","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11436}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administra", "remota", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15882}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configura", "dispositivo", "lora", "modem", "presets", "ecr", "posi", "energia", "rede", "bluetooth", "seguran", "related", "topics"],"aliases":["definições", "radio-config", "user-config", "lora"],"charCount":15076}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5918}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configura", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8893}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6483}, - {"id":"translate","title":"Translate the App","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatura", "distance", "altitude", "where", "these", "appear", "speed", "vento", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5831}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"pt-rPT","resourcePath":"docs/pt-rPT/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "mesaje", "noduri", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2937}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Descoperiți","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/discovery.html","navOrder":12,"keywords":["descoperi", "local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "trasare", "traseu", "running", "traceroute", "troubleshooting", "with", "informa", "vecin", "enabling", "neighbor", "info", "viewing", "data", "node", "list"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12535}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4906}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "canale", "default", "channel", "securitate", "canal", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12786}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7874}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "valori", "dispozitiv", "indicatori", "mediu", "air", "quality", "signal", "reference", "putere", "trasare", "traseu", "reading", "traceroute", "results", "position", "log", "informa", "vecin", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9911}, - {"id":"nodes","title":"Noduri","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/nodes.html","navOrder":4,"keywords":["noduri", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11273}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administrare", "distan", "cur"],"aliases":["modules", "module-config", "administration"],"charCount":15930}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "configurare", "putere", "network", "bluetooth", "security", "related", "topics"],"aliases":["setari", "radio-config", "user-config", "lora"],"charCount":14973}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5930}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8914}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "valori", "putere", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6490}, - {"id":"translate","title":"Translate the App","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperature", "distance", "altitude", "where", "these", "appear", "viteza", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5839}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"ro-rRO","resourcePath":"docs/ro-rRO/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/android-auto.html","navOrder":18,"keywords":["android", "auto"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":3258}, - {"id":"app-functions","title":"Функции приложения","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/app-functions.html","navOrder":19,"keywords":[],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3808}, - {"id":"connections","title":"Соединения","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/connections.html","navOrder":2,"keywords":["bluetooth", "ble", "usb", "tcp"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":5577}, - {"id":"debug-logs","title":"Отладочные журналы","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/debug-logs.html","navOrder":22,"keywords":["desktop"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3561}, - {"id":"desktop","title":"Настольное приложение","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/desktop.html","navOrder":14,"keywords":["linux", "macos", "windows", "usb", "tcp", "bluetooth", "ble"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":7152}, - {"id":"discovery","title":"Обнаружение","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/discovery.html","navOrder":12,"keywords":[],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":14360}, - {"id":"firmware","title":"Обновления прошивки","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/firmware.html","navOrder":13,"keywords":["ota", "bluetooth", "usb"],"aliases":["firmware", "update", "ota", "flash"],"charCount":5631}, - {"id":"help-and-docs","title":"Справка и встроенная документация","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/help-and-docs.html","navOrder":21,"keywords":["chirpy"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2428}, - {"id":"map-and-waypoints","title":"Карта и путевые точки","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/map-and-waypoints.html","navOrder":6,"keywords":[],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":7655}, - {"id":"messages-and-channels","title":"Сообщения и каналы","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/messages-and-channels.html","navOrder":3,"keywords":[],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":14634}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/mqtt.html","navOrder":11,"keywords":["mqtt", "meshtastic", "uplink", "downlink"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":8594}, - {"id":"node-metrics","title":"Метрики ноды","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/node-metrics.html","navOrder":5,"keywords":[],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":11601}, - {"id":"nodes","title":"Ноды","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/nodes.html","navOrder":4,"keywords":[],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":12561}, - {"id":"onboarding","title":"Начало работы","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/onboarding.html","navOrder":1,"keywords":["bluetooth"],"aliases":["first-launch", "setup", "intro"],"charCount":4540}, - {"id":"settings-module-admin","title":"Настройки — Модули и администрирование","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/settings-module-admin.html","navOrder":8,"keywords":["mqtt", "store", "forward", "range", "test", "module", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "factory", "reset", "troubleshooting", "admin", "related", "topics"],"aliases":["modules", "module-config", "administration"],"charCount":16763}, - {"id":"settings-radio-user","title":"Настройки - Радио и пользователь","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/settings-radio-user.html","navOrder":7,"keywords":["lora", "bluetooth"],"aliases":["настройки", "radio-config", "user-config", "lora"],"charCount":16781}, - {"id":"signal-meter","title":"Как работает измеритель сигнала Meshtastic","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/signal-meter.html","navOrder":15,"keywords":["meshtastic", "lora"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":6236}, - {"id":"tak","title":"Интеграция TAK","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/tak.html","navOrder":10,"keywords":["tak", "atak", "cot", "cursor", "target"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":10051}, - {"id":"telemetry-and-sensors","title":"Телеметрия и датчики","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/telemetry-and-sensors.html","navOrder":9,"keywords":[],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":7765}, - {"id":"translate","title":"Перевод приложения","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/translate.html","navOrder":17,"keywords":[],"aliases":["translate", "crowdin", "localization"],"charCount":4832}, - {"id":"units-and-locale","title":"Единицы измерения и локаль","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/units-and-locale.html","navOrder":16,"keywords":["android"],"aliases":[],"charCount":6284}, - {"id":"widget","title":"Виджет на главный экран","section":"user","locale":"ru-rRU","resourcePath":"docs/ru-rRU/user/widget.html","navOrder":20,"keywords":[],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":2096}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "spr", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2936}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":5002}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "trasovanie", "running", "traceroute", "troubleshooting", "with", "inform", "cia", "susedoch", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12532}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kan", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12798}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7874}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "trasovanie", "reading", "traceroute", "results", "log", "poz", "cie", "inform", "cia", "susedoch", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9865}, - {"id":"nodes","title":"Nodes","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11271}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administr", "cia", "dia"],"aliases":["modules", "module-config", "administration"],"charCount":15911}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "konfigur", "cia", "zariadenia", "lora", "modem", "presets", "displeju", "position", "config", "power", "siete", "bluetooth", "security", "related", "topics"],"aliases":["nastavenia", "radio-config", "user-config", "lora"],"charCount":14993}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5924}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6420}, - {"id":"translate","title":"Translate the App","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "teplota", "distance", "altitude", "where", "these", "appear", "chlos", "vietor", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5859}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"sk-rSK","resourcePath":"docs/sk-rSK/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "messages", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "pot", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12517}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "pot", "reading", "traceroute", "results", "dnevnik", "lokacije", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9841}, - {"id":"nodes","title":"Nodes","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11278}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administracija", "daljavo", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15901}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5924}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6462}, - {"id":"translate","title":"Translate the App","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatura", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"sl-rSI","resourcePath":"docs/sl-rSI/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "nodes", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2932}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "running", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12524}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4896}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "traceroute", "reading", "results", "regjistri", "pozit", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9874}, - {"id":"nodes","title":"Nodes","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/nodes.html","navOrder":4,"keywords":["nodes", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11306}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administrat", "larg", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15877}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "device", "config", "lora", "modem", "presets", "display", "position", "power", "network", "bluetooth", "security", "related", "topics"],"aliases":["settings", "radio-config", "user-config", "lora"],"charCount":14946}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5912}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8894}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6497}, - {"id":"translate","title":"Translate the App","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatura", "distance", "altitude", "where", "these", "appear", "speed", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5830}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"sq-rAL","resourcePath":"docs/sq-rAL/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"srp","resourcePath":"docs/srp/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2938}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"srp","resourcePath":"docs/srp/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"srp","resourcePath":"docs/srp/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4972}, - {"id":"debug-logs","title":"Дебаг логови","section":"user","locale":"srp","resourcePath":"docs/srp/user/debug-logs.html","navOrder":22,"keywords":["the", "two", "tabs", "viewing", "app", "logs", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3007}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"srp","resourcePath":"docs/srp/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"srp","resourcePath":"docs/srp/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12526}, - {"id":"firmware","title":"Ажурирања фирмвера","section":"user","locale":"srp","resourcePath":"docs/srp/user/firmware.html","navOrder":13,"keywords":["checking", "for", "updates", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings", "related"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4900}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"srp","resourcePath":"docs/srp/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2061}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"srp","resourcePath":"docs/srp/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"srp","resourcePath":"docs/srp/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "security", "adding", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12816}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"srp","resourcePath":"docs/srp/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7844}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"srp","resourcePath":"docs/srp/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9899}, - {"id":"nodes","title":"Чворови","section":"user","locale":"srp","resourcePath":"docs/srp/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11296}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"srp","resourcePath":"docs/srp/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"srp","resourcePath":"docs/srp/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "clean", "node", "database", "troubleshooting"],"aliases":["modules", "module-config", "administration"],"charCount":15920}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"srp","resourcePath":"docs/srp/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "lora", "modem", "presets", "related", "topics"],"aliases":["подешавања", "radio-config", "user-config", "lora"],"charCount":15028}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"srp","resourcePath":"docs/srp/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5930}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"srp","resourcePath":"docs/srp/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8902}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"srp","resourcePath":"docs/srp/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "окружење", "weather", "power-metrics"],"charCount":6501}, - {"id":"translate","title":"Translate the App","section":"user","locale":"srp","resourcePath":"docs/srp/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"srp","resourcePath":"docs/srp/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5831}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"srp","resourcePath":"docs/srp/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "meddelanden", "noder", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2944}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3519}, - {"id":"connections","title":"Connections","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3006}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Upptäckt","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/discovery.html","navOrder":12,"keywords":["uppt", "ckt", "local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "traceroute", "rutt", "running", "troubleshooting", "with", "granninformation", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12538}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "fels", "kning", "stuck", "device", "won", "boot", "after", "compatibility"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4911}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2062}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "kartlager", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6441}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kanaler", "default", "channel", "kanals", "kerhet", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12748}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "konfiguration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "fels", "kning", "not", "connecting", "messages", "bridging", "related"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7839}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "enhetens", "rden", "milj", "air", "quality", "signal", "reference", "str", "mdata", "traceroute", "rutt", "reading", "results", "position", "loggbok", "granninformation", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9857}, - {"id":"nodes","title":"Noder","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/nodes.html","navOrder":4,"keywords":["noder", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11264}, - {"id":"onboarding","title":"Kom igång","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/onboarding.html","navOrder":1,"keywords":["kom", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4012}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "administration", "rradministration", "rensa"],"aliases":["modules", "module-config", "administration"],"charCount":15876}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "anv", "ndarinst", "llningar", "profile", "applying", "changes", "konfiguration", "enhetskonfiguration", "lora", "config", "modem", "presets", "display", "position", "str", "minst", "network", "bluetooth", "inst", "security", "related", "topics"],"aliases":["inställningar", "radio-config", "user-config", "lora"],"charCount":15032}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "konfiguration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "fels", "kning", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8897}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "str", "mdata", "configuring", "recommended", "intervals", "metrics", "viewing", "fels", "kning", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6481}, - {"id":"translate","title":"Translate the App","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "temperatur", "distance", "altitude", "where", "these", "appear", "hastighet", "vind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5833}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"sv-rSE","resourcePath":"docs/sv-rSE/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1859}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "genel", "bak", "mesajlar", "nodelar", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2943}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Bağlantılar","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/connections.html","navOrder":2,"keywords":["lant", "lar", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4966}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3003}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "yol", "izle", "running", "traceroute", "troubleshooting", "with", "kom", "bilgisi", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12522}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "Kablosuz Güncelleme", "flash"],"charCount":4912}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "layers", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6434}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "kanallar", "default", "channel", "security", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12752}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/mqtt.html","navOrder":11,"keywords":["mqtt", "genel", "bak", "how", "works", "yap", "land", "rma", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7846}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "device", "environment", "air", "quality", "signal", "reference", "power", "yol", "izle", "reading", "traceroute", "results", "konum", "kay", "tlar", "kom", "bilgisi", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9855}, - {"id":"nodes","title":"Nodelar","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/nodes.html","navOrder":4,"keywords":["nodelar", "node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11265}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "netim", "uzaktan", "clean"],"aliases":["modules", "module-config", "administration"],"charCount":15877}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "yap", "land", "rma", "cihaz", "ayar", "lora", "modem", "presets", "akran", "konum", "bluetooth", "venlik", "related", "topics"],"aliases":["ayarlar", "radio-config", "user-config", "lora"],"charCount":14935}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5930}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/tak.html","navOrder":10,"keywords":["tak", "integration", "genel", "bak", "setup", "prerequisites", "yap", "land", "rma", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8896}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "genel", "bak", "device", "environment", "temperature", "humidity", "air", "quality", "light", "power", "metrics", "configuring", "recommended", "intervals", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6416}, - {"id":"translate","title":"Translate the App","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "nas", "katk", "bulunulur", "adding", "new", "language", "how", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4491}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "cakl", "distance", "altitude", "where", "these", "appear", "speed", "zgar", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5829}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"tr-rTR","resourcePath":"docs/tr-rTR/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "overview", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2942}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"Connections","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/connections.html","navOrder":2,"keywords":["connections", "bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4954}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3013}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "installation", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6180}, - {"id":"discovery","title":"Discovery","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/discovery.html","navOrder":12,"keywords":["discovery", "local", "mesh", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12530}, - {"id":"firmware","title":"Firmware Updates","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/firmware.html","navOrder":13,"keywords":["firmware", "updates", "checking", "for", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "troubleshooting", "stuck", "device", "won", "boot", "after", "compatibility", "warnings"],"aliases":["firmware", "update", "ota", "flash"],"charCount":4891}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2069}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6433}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "adding", "direct", "sending", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12784}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/mqtt.html","navOrder":11,"keywords":["mqtt", "overview", "how", "works", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "troubleshooting", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7853}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "position", "log", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9931}, - {"id":"nodes","title":"Вузли","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11313}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "module", "configuration", "mqtt", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "factory", "reset", "troubleshooting"],"aliases":["modules", "module-config", "administration"],"charCount":15905}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "lora", "modem", "presets", "position", "config", "bluetooth", "related", "topics"],"aliases":["налаштування", "radio-config", "user-config", "lora"],"charCount":15042}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5936}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/tak.html","navOrder":10,"keywords":["tak", "integration", "overview", "setup", "prerequisites", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "troubleshooting", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8901}, - {"id":"telemetry-and-sensors","title":"Телеметрія і сенсори","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "overview", "device", "environment", "temperature", "humidity", "air", "quality", "light", "configuring", "recommended", "intervals", "metrics", "viewing", "troubleshooting", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6569}, - {"id":"translate","title":"Translate the App","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5835}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"uk-rUA","resourcePath":"docs/uk-rUA/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1866}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2923}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3516}, - {"id":"connections","title":"连接数","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/connections.html","navOrder":2,"keywords":["bluetooth", "ble", "pairing", "device", "connection", "status", "troubleshooting", "usb", "serial", "setup", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":4926}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":2997}, - {"id":"desktop","title":"Desktop App","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/desktop.html","navOrder":14,"keywords":["desktop", "app", "linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from", "source"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6170}, - {"id":"discovery","title":"发现","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/discovery.html","navOrder":12,"keywords":["local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "enabling", "neighbor", "info", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing", "connectivity"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12490}, - {"id":"firmware","title":"固件升级","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/firmware.html","navOrder":13,"keywords":["checking", "for", "updates", "update", "methods", "ota", "over", "the", "air", "via", "bluetooth", "app", "usb", "other", "flashing", "options", "version", "channels", "pre", "checklist", "post", "stuck", "device", "won", "boot", "after", "compatibility", "warnings", "related", "topics"],"aliases":["firmware", "update", "OTA(空中升级)", "flash"],"charCount":4837}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "search", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2059}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6428}, - {"id":"messages-and-channels","title":"Messages & Channels","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/messages-and-channels.html","navOrder":3,"keywords":["messages", "channels", "default", "channel", "adding", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "best", "practices", "related", "topics"],"aliases":["channels", "direct-messages", "messaging", "conversations"],"charCount":12709}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/mqtt.html","navOrder":11,"keywords":["mqtt", "how", "works", "configuration", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "best", "practices", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7827}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9705}, - {"id":"nodes","title":"节点","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11251}, - {"id":"onboarding","title":"Getting Started","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/onboarding.html","navOrder":1,"keywords":["getting", "started", "first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4024}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "factory", "reset", "troubleshooting", "related"],"aliases":["modules", "module-config", "administration"],"charCount":15806}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "configuration", "lora", "modem", "presets", "related", "topics"],"aliases":["设置", "radio-config", "user-config", "lora"],"charCount":14849}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "two", "metrics", "loudness", "clarity", "magic", "lora", "hearing", "below", "noise", "floor", "calculates", "quality", "what", "this", "means", "for", "you", "where", "information", "appears", "related", "topics"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":5900}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/tak.html","navOrder":10,"keywords":["tak", "integration", "setup", "configuration", "atak", "plugin", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8852}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "device", "environment", "temperature", "humidity", "air", "quality", "light", "configuring", "recommended", "intervals", "metrics", "viewing", "related", "topics"],"aliases":["sensors", "环境", "weather", "power-metrics"],"charCount":6301}, - {"id":"translate","title":"Translate the App","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "how", "contribute", "adding", "new", "language", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4459}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5815}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"zh-rCN","resourcePath":"docs/zh-rCN/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, - {"id":"android-auto","title":"Android Auto","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "status"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2913}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3501}, - {"id":"connections","title":"連線","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/connections.html","navOrder":2,"keywords":["ble", "usb", "tcp", "network", "connecting", "over", "the"],"aliases":["藍牙", "usb", "tcp", "配對"],"charCount":3344}, - {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":2989}, - {"id":"desktop","title":"桌面版應用程式","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/desktop.html","navOrder":14,"keywords":["linux", "macos", "windows", "usb", "tcp", "ble"],"aliases":["桌面", "linux", "macos", "windows", "jvm"],"charCount":4592}, - {"id":"discovery","title":"尋找","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/discovery.html","navOrder":12,"keywords":["local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "beacon", "manual", "exploration"],"aliases":["mesh-探索", "本地-探索", "網路-掃描", "traceroute", "鄰居資訊"],"charCount":9846}, - {"id":"firmware","title":"韌體更新","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/firmware.html","navOrder":13,"keywords":["ota", "app", "usb", "update", "other", "flashing", "options"],"aliases":["韌體", "更新", "OTA(空中升级)", "記憶體"],"charCount":3595}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "chirpy", "the", "assistant"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2045}, - {"id":"map-and-waypoints","title":"地圖與航點","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/map-and-waypoints.html","navOrder":6,"keywords":["waypoint", "geofences", "site", "planner"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":4806}, - {"id":"messages-and-channels","title":"訊息與頻道","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/messages-and-channels.html","navOrder":3,"keywords":["searching", "messages", "text", "formatting", "mentions"],"aliases":["頻道", "direct-messages", "messaging", "conversations"],"charCount":8920}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/mqtt.html","navOrder":11,"keywords":["mqtt", "proxy", "this", "phone", "meshtastic"],"aliases":["MQTT", "internet-bridge", "broker"],"charCount":4480}, - {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "viewing", "related", "topics"],"aliases":["metrics", "遙測", "device-metrics", "signal"],"charCount":9779}, - {"id":"nodes","title":"節點","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/nodes.html","navOrder":4,"keywords":["node", "list", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11251}, - {"id":"onboarding","title":"新手入門","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/onboarding.html","navOrder":999,"keywords":["first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":11083}, - {"id":"settings-module-admin","title":"Settings — Modules & Admin","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/settings-module-admin.html","navOrder":8,"keywords":["settings", "modules", "admin", "mqtt", "module", "serial", "external", "notification", "store", "forward", "range", "test", "telemetry", "canned", "message", "audio", "remote", "hardware", "neighbor", "info", "ambient", "lighting", "detection", "sensor", "paxcounter", "tak", "troubleshooting", "related", "topics"],"aliases":["modules", "模組設定", "administration"],"charCount":15770}, - {"id":"settings-radio-user","title":"Settings — Radio & User","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/settings-radio-user.html","navOrder":7,"keywords":["settings", "radio", "user", "profile", "applying", "changes", "lora", "modem", "presets", "related", "topics"],"aliases":["設定", "radio-config", "user-config", "LoRa"],"charCount":14997}, - {"id":"signal-meter","title":"How the Meshtastic Signal Meter Works","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/signal-meter.html","navOrder":15,"keywords":["how", "the", "meshtastic", "signal", "meter", "works", "open", "source", "decentralized", "off", "grid", "privacy", "respecting", "encrypted", "communications", "platform", "built", "affordable", "readily", "available", "hardware", "enables", "you", "and", "your", "friends", "communicate", "securely", "with", "text"],"aliases":["signal", "signal-meter", "snr", "rssi"],"charCount":53211}, - {"id":"tak","title":"TAK Integration","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/tak.html","navOrder":10,"keywords":["tak", "integration", "atak", "plugin", "setup", "local", "server", "roles", "cot", "cursor", "target", "format", "identity", "wire", "usage", "with", "security", "considerations", "related", "topics"],"aliases":["tak", "atak", "team-awareness-kit"],"charCount":8810}, - {"id":"telemetry-and-sensors","title":"Telemetry & Sensors","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/telemetry-and-sensors.html","navOrder":9,"keywords":["telemetry", "sensors", "environment", "temperature", "humidity", "air", "quality", "light", "configuring", "recommended", "intervals", "metrics", "viewing", "related", "topics"],"aliases":["sensors", "environment", "weather", "power-metrics"],"charCount":6300}, - {"id":"translate","title":"Translate the App","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/translate.html","navOrder":17,"keywords":["translate", "the", "app", "what", "gets", "translated", "adding", "new", "language", "how", "translations", "are", "organized", "translation", "guidelines", "questions"],"aliases":["translate", "crowdin", "localization"],"charCount":4418}, - {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "distance", "altitude", "where", "these", "appear", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android"],"aliases":[],"charCount":5798}, - {"id":"widget","title":"Home Screen Widget","section":"user","locale":"zh-rTW","resourcePath":"docs/zh-rTW/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1846} -] \ No newline at end of file diff --git a/v2.8.0/is-rIS/index.html b/v2.8.0/is-rIS/index.html deleted file mode 100644 index 28ab68d078..0000000000 --- a/v2.8.0/is-rIS/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Lýsing
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/is-rIS/user/android-auto.html b/v2.8.0/is-rIS/user/android-auto.html deleted file mode 100644 index 51c184b3f4..0000000000 --- a/v2.8.0/is-rIS/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/is-rIS/user/app-functions.html b/v2.8.0/is-rIS/user/app-functions.html deleted file mode 100644 index 86b2d73dd8..0000000000 --- a/v2.8.0/is-rIS/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/is-rIS/user/connections.html b/v2.8.0/is-rIS/user/connections.html deleted file mode 100644 index 76e282e89d..0000000000 --- a/v2.8.0/is-rIS/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Lýsing
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Aftengd No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/is-rIS/user/debug-logs.html b/v2.8.0/is-rIS/user/debug-logs.html deleted file mode 100644 index 756a5cf5b1..0000000000 --- a/v2.8.0/is-rIS/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/is-rIS/user/desktop.html b/v2.8.0/is-rIS/user/desktop.html deleted file mode 100644 index 0e4e56d8e7..0000000000 --- a/v2.8.0/is-rIS/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/is-rIS/user/discovery.html b/v2.8.0/is-rIS/user/discovery.html deleted file mode 100644 index 0507bebd56..0000000000 --- a/v2.8.0/is-rIS/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Lýsing
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Ferilkönnun

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/is-rIS/user/firmware.html b/v2.8.0/is-rIS/user/firmware.html deleted file mode 100644 index f63b2dd031..0000000000 --- a/v2.8.0/is-rIS/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Channel Lýsing
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/is-rIS/user/help-and-docs.html b/v2.8.0/is-rIS/user/help-and-docs.html deleted file mode 100644 index 1db64b89f1..0000000000 --- a/v2.8.0/is-rIS/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/is-rIS/user/map-and-waypoints.html b/v2.8.0/is-rIS/user/map-and-waypoints.html deleted file mode 100644 index 1cdda99b4d..0000000000 --- a/v2.8.0/is-rIS/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Lýsing
Heiti Short identifier (max 29 characters)
Lýsing Optional longer description
Icon Visual marker emoji on the map
Læst If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/is-rIS/user/messages-and-channels.html b/v2.8.0/is-rIS/user/messages-and-channels.html deleted file mode 100644 index 9afdb13aa7..0000000000 --- a/v2.8.0/is-rIS/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Lýsing
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Error Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Error Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
No Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
No Channel The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Bad Request Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/is-rIS/user/mqtt.html b/v2.8.0/is-rIS/user/mqtt.html deleted file mode 100644 index e9cc7606b1..0000000000 --- a/v2.8.0/is-rIS/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Lýsing Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Lýsing
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Lýsing Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/is-rIS/user/node-metrics.html b/v2.8.0/is-rIS/user/node-metrics.html deleted file mode 100644 index bb4fb4c2b9..0000000000 --- a/v2.8.0/is-rIS/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Lýsing
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Lýsing
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Lýsing
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Lýsing
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Ferilkönnun

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/is-rIS/user/nodes.html b/v2.8.0/is-rIS/user/nodes.html deleted file mode 100644 index 29e0c4befb..0000000000 --- a/v2.8.0/is-rIS/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Lýsing
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Lýsing
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Lýsing
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Last heard Last heard
Distance Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/is-rIS/user/onboarding.html b/v2.8.0/is-rIS/user/onboarding.html deleted file mode 100644 index d731880bd6..0000000000 --- a/v2.8.0/is-rIS/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/is-rIS/user/settings-module-admin.html b/v2.8.0/is-rIS/user/settings-module-admin.html deleted file mode 100644 index 79ac89c612..0000000000 --- a/v2.8.0/is-rIS/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Lýsing
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Lýsing
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Lýsing
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Lýsing
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Lýsing
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Lýsing
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Lýsing
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Lýsing
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Lýsing
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Lýsing
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Lýsing
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Lýsing
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Lýsing
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Endurræsa

Remotely reboot a connected or administered node.

Villuleitarborð

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/is-rIS/user/settings-radio-user.html b/v2.8.0/is-rIS/user/settings-radio-user.html deleted file mode 100644 index 59012eb7d1..0000000000 --- a/v2.8.0/is-rIS/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Lýsing
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Lýsing Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Lýsing Default
Svæði Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Lýsing
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Lýsing
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Lýsing
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Lýsing
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Lýsing
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Lýsing
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/is-rIS/user/signal-meter.html b/v2.8.0/is-rIS/user/signal-meter.html deleted file mode 100644 index a781c5f7ec..0000000000 --- a/v2.8.0/is-rIS/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/is-rIS/user/tak.html b/v2.8.0/is-rIS/user/tak.html deleted file mode 100644 index b8f60e4b6c..0000000000 --- a/v2.8.0/is-rIS/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Lýsing
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Lýsing
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Lýsing
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/is-rIS/user/telemetry-and-sensors.html b/v2.8.0/is-rIS/user/telemetry-and-sensors.html deleted file mode 100644 index 8756cdb46b..0000000000 --- a/v2.8.0/is-rIS/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Lýsing Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperature Humidity Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Lýsing
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Lýsing
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/is-rIS/user/translate.html b/v2.8.0/is-rIS/user/translate.html deleted file mode 100644 index 4aba8d1e69..0000000000 --- a/v2.8.0/is-rIS/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/is-rIS/user/units-and-locale.html b/v2.8.0/is-rIS/user/units-and-locale.html deleted file mode 100644 index 3d72651722..0000000000 --- a/v2.8.0/is-rIS/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/is-rIS/user/widget.html b/v2.8.0/is-rIS/user/widget.html deleted file mode 100644 index f4ddb1bf4a..0000000000 --- a/v2.8.0/is-rIS/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Íslenska
Meshtastic Docs ↗

🌐 Íslenska — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/it-rIT/index.html b/v2.8.0/it-rIT/index.html deleted file mode 100644 index 034e0bee40..0000000000 --- a/v2.8.0/it-rIT/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descrizione
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/it-rIT/user/android-auto.html b/v2.8.0/it-rIT/user/android-auto.html deleted file mode 100644 index 07475c137b..0000000000 --- a/v2.8.0/it-rIT/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Panoramica

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messaggi

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodi

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/it-rIT/user/app-functions.html b/v2.8.0/it-rIT/user/app-functions.html deleted file mode 100644 index ce0fcb8a4d..0000000000 --- a/v2.8.0/it-rIT/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/it-rIT/user/connections.html b/v2.8.0/it-rIT/user/connections.html deleted file mode 100644 index 624f291c2d..0000000000 --- a/v2.8.0/it-rIT/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connessioni | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Connessioni

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descrizione
🟢 Connesso Active radio link established
🟡 Connessione in corso Handshake in progress
🔴 Disconnesso No active connection
⚪ Not configured Nessun dispositivo selezionato

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Configurazione

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/it-rIT/user/debug-logs.html b/v2.8.0/it-rIT/user/debug-logs.html deleted file mode 100644 index 6bd1b814a7..0000000000 --- a/v2.8.0/it-rIT/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/it-rIT/user/desktop.html b/v2.8.0/it-rIT/user/desktop.html deleted file mode 100644 index f691c79a79..0000000000 --- a/v2.8.0/it-rIT/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installazione

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Note
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mappa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Impostazioni ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Aggiornamento Firmware ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requisiti:

  • JDK 21
  • No Android SDK required for desktop-only builds

Limitazioni conosciute

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/it-rIT/user/discovery.html b/v2.8.0/it-rIT/user/discovery.html deleted file mode 100644 index ffc21aaf6b..0000000000 --- a/v2.8.0/it-rIT/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descrizione
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metrico What it tells you
RF health Overall quality of the radio environment on that preset.
Utilizzo Canale How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informazioni Vicinato

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/it-rIT/user/firmware.html b/v2.8.0/it-rIT/user/firmware.html deleted file mode 100644 index 6a22b4805e..0000000000 --- a/v2.8.0/it-rIT/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canale Descrizione
Stabile Recommended for most users; tested releases
Alfa Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Risoluzione problemi

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/it-rIT/user/help-and-docs.html b/v2.8.0/it-rIT/user/help-and-docs.html deleted file mode 100644 index cc2bcb6f76..0000000000 --- a/v2.8.0/it-rIT/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/it-rIT/user/map-and-waypoints.html b/v2.8.0/it-rIT/user/map-and-waypoints.html deleted file mode 100644 index bdad191b2c..0000000000 --- a/v2.8.0/it-rIT/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descrizione
Nome Short identifier (max 29 characters)
Descrizione Optional longer description
Icon Visual marker emoji on the map
Bloccato If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Livelli della mappa

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/it-rIT/user/messages-and-channels.html b/v2.8.0/it-rIT/user/messages-and-channels.html deleted file mode 100644 index 0c06a46f3d..0000000000 --- a/v2.8.0/it-rIT/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Canali

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Sicurezza del canale

Channels support multiple encryption levels:

Icon Security Level Descrizione
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Messaggi Diretti

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Percorso tramite catena SF++… Being routed/buffered by the Store & Forward Plus Plus chain
Confermato sulla catena SF++ Confirmed delivered via the SF++ chain
Errori Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Errori Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Nessuna Interfaccia No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Nessun Canale The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Richiesta Non Valida Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tipo Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Buone pratiche

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/it-rIT/user/mqtt.html b/v2.8.0/it-rIT/user/mqtt.html deleted file mode 100644 index 4de6bbecaf..0000000000 --- a/v2.8.0/it-rIT/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Panoramica

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

Come funziona

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configurazione

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Impostazione Descrizione Predefinito
Indirizzo Server MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root topic Base topic for messages msh
Cifratura Encrypt MQTT payload Abilitato
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descrizione
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descrizione Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Buone pratiche

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Risoluzione problemi

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/it-rIT/user/node-metrics.html b/v2.8.0/it-rIT/user/node-metrics.html deleted file mode 100644 index 4ad5a90f4f..0000000000 --- a/v2.8.0/it-rIT/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Metriche Dispositivo

Basic operating information reported by each node:

Metrico Descrizione
Battery Level Current battery percentage
Tensione Battery voltage reading
Utilizzo Canale Percentage of airtime consumed
Airtime Transmission time used by this node
Tempo di attività Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Metriche Ambientali

Environmental sensor data (requires compatible hardware):

Metrico Sensor Examples
Temperatura BME280, BME680, SHT31
Umidità BME280, BME680, SHT31
Pressione barometrica BME280, BMP280
Resistenza Ai Gas BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metrico Unit Descrizione
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Buono < 1000 Verde
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Rosso
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metrico Descrizione
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Conteggio Hop Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Buono SNR above the preset’s limit
Discreto less than 5.5 dB below the limit
Scarso 5.5 dB to 7.5 dB below the limit
Nessuno more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Metriche Alimentazione

Power management telemetry (requires INA sensor or compatible hardware):

Metrico Descrizione
Bus Voltage Supply voltage
Attuale Power draw in milliamps
Alimentazione Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Registro Posizione

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitudine
  • Speed (if moving)
  • Timestamp for each position report

Informazioni Vicinato

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/it-rIT/user/nodes.html b/v2.8.0/it-rIT/user/nodes.html deleted file mode 100644 index d2977bef72..0000000000 --- a/v2.8.0/it-rIT/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodi | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Nodi

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Ruolo Descrizione
Client Standard end-user device
Base Client Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Nascosto Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensore Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Rimuovi Nodo

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtro Descrizione
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descrizione
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Livello batteria Battery
Hop count Hops
Ricevuto più di recente Last heard
Distanza Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/it-rIT/user/onboarding.html b/v2.8.0/it-rIT/user/onboarding.html deleted file mode 100644 index 0a42f30d69..0000000000 --- a/v2.8.0/it-rIT/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Come iniziare | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Come iniziare

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/it-rIT/user/settings-module-admin.html b/v2.8.0/it-rIT/user/settings-module-admin.html deleted file mode 100644 index 32f5cab7f1..0000000000 --- a/v2.8.0/it-rIT/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Configurazione modulo

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Impostazione Descrizione
Abilitato Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Cifratura Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Impostazione Descrizione
Abilitato Activate serial communication
Echo Echo received serial data back
Modalità Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Impostazione Descrizione
Abilitato Activate notifications
Messaggio di allerta Notify on incoming messages
Buzzer Messaggio Di Allerta Use buzzer for messages
Alert Message Vibra Use vibration for messages
Campanella Di Allarme Notify on bell character
Output (GPIO) Pin for notification output
Attivo High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Impostazione Descrizione
Abilitato Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Record Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Impostazione Descrizione
Abilitato Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Impostazione Descrizione
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Qualità Dell’Aria Abilitata Report particulate sensor data
Metriche Di Alimentazione Abilitate Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Impostazione Descrizione
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messaggi Newline-separated list of messages
Invia Campanella Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Impostazione Descrizione
Abilitato Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
Selezione Parola I2S GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Impostazione Descrizione
Abilitato Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Impostazione Descrizione
Abilitato Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Trasmettere su LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Impostazione Descrizione
Stato LED Turn the LED on or off
Attuale LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Impostazione Descrizione
Abilitato Activate detection sensor
Pin Monitor GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Invia Campanella Include bell character in alerts
Nome Descrittivo Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Impostazione Descrizione
Abilitato Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Amministrazione

Amministrazione Remota

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Azzera il database dei nodi

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Riavvia

Remotely reboot a connected or administered node.

Pannello Di Debug

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/it-rIT/user/settings-radio-user.html b/v2.8.0/it-rIT/user/settings-radio-user.html deleted file mode 100644 index 4cf10d4234..0000000000 --- a/v2.8.0/it-rIT/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

Impostazioni Utente

User Profile

Impostazione Descrizione
Nome Lungo Your display name (up to 39 characters)
Nome Breve 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configurazione

Configurazione Dispositivo

Impostazione Descrizione Predefinito
Ruolo Node behavior (Client, Router, etc.) Client
Modalità Ritrasmissione How the node retransmits messages Tutti
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Configurazione LoRa

Impostazione Descrizione Predefinito
Regione Regulatory region for frequency bands Unset (must configure)
Configurazione Modem Speed/range tradeoff LongFast
Limite di hop Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Offset Di Frequenza Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Velocità SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0,34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0,18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Configurazione Schermo

Impostazione Descrizione
Timeout Schermo Time before display sleeps
Mostra Unità Metric or Imperial
Tipo OLED Auto, SSD1306, SH1106, SH1107
Orientamento bussola Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Configurazione Posizione

Impostazione Descrizione
GPS Enabled Enable/disable GPS
Intervallo di aggiornamento GPS How often to acquire GPS fix
Position Broadcast (s) How often to share position
Posizione Smart Enable movement-based broadcasting
Posizione Fissa Use a manually set position

Configurazione Alimentazione

Impostazione Descrizione
Risparmio energetico Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Configurazione Della Rete

Impostazione Descrizione
WiFi abilitato Enable WiFi radio (ESP32 devices)
SSID WiFi Network name to connect to
WiFi PSK Password di rete
Server NTP Time synchronization server
Syslog Server Remote logging server

IP address field

Configurazione Bluetooth

Impostazione Descrizione
Bluetooth Enabled Enable/disable BLE radio
Modalità di abbinamento Fixed PIN, Random PIN, or No PIN
PIN Fisso PIN code for pairing (default: 123456)

Configurazione Sicurezza

Impostazione Descrizione
Chiave Pubblica Your node’s public key (read-only)
Chiave Amministratore Key for remote administration
Chiave Privata Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Log di debug Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Modalità Gestita Restrict non-admin channel changes
Backup chiavi Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/it-rIT/user/signal-meter.html b/v2.8.0/it-rIT/user/signal-meter.html deleted file mode 100644 index 27302185d5..0000000000 --- a/v2.8.0/it-rIT/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Buono 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Discreto 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Scarso 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Nessuno 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/it-rIT/user/tak.html b/v2.8.0/it-rIT/user/tak.html deleted file mode 100644 index 9d80276901..0000000000 --- a/v2.8.0/it-rIT/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Panoramica

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Configurazione

Prerequisiti

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configurazione

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Impostazione Descrizione
Abilitato Activate TAK interop
Modalità TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Ruolo Descrizione
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Impostazione Descrizione
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Caratteristiche
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Risoluzione problemi

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/it-rIT/user/telemetry-and-sensors.html b/v2.8.0/it-rIT/user/telemetry-and-sensors.html deleted file mode 100644 index 1c44d89af6..0000000000 --- a/v2.8.0/it-rIT/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Panoramica

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Telemetria dispositivo

All Meshtastic nodes report basic device telemetry:

Metrico Descrizione Typical Range
Battery Level Charge percentage 0–100%
Tensione Battery voltage 3.0–4.2V (LiPo)
Utilizzo Canale % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Tempo di attività Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensore Temperatura Umidità Pressione Note
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensore Metrico Note
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensore Metrico
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Metriche Alimentazione

Nodes with INA-series power sensors can report:

Metrico Descrizione
Bus Voltage Supply rail voltage
Attuale Power consumption (mA)
Alimentazione Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metrico Unit Descrizione
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Risoluzione problemi

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/it-rIT/user/translate.html b/v2.8.0/it-rIT/user/translate.html deleted file mode 100644 index 1d12719653..0000000000 --- a/v2.8.0/it-rIT/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Note
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/it-rIT/user/units-and-locale.html b/v2.8.0/it-rIT/user/units-and-locale.html deleted file mode 100644 index 525e2a7270..0000000000 --- a/v2.8.0/it-rIT/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


Come funziona

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitudine
Metrico 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Velocità

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metrico 12 km/h
Imperial (US) 7 mph

Vento

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metrico 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metrico 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Pressione barometrica hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiazione μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Impostazione What It Controls Esempio
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/it-rIT/user/widget.html b/v2.8.0/it-rIT/user/widget.html deleted file mode 100644 index f576bf1b04..0000000000 --- a/v2.8.0/it-rIT/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Italiano
Meshtastic Docs ↗

🌐 Italiano — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/iw-rIL/index.html b/v2.8.0/iw-rIL/index.html deleted file mode 100644 index 9eac15f67f..0000000000 --- a/v2.8.0/iw-rIL/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide תיאור
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/iw-rIL/user/android-auto.html b/v2.8.0/iw-rIL/user/android-auto.html deleted file mode 100644 index 1a40d8a9bd..0000000000 --- a/v2.8.0/iw-rIL/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

הודעות

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/iw-rIL/user/app-functions.html b/v2.8.0/iw-rIL/user/app-functions.html deleted file mode 100644 index b4690ce2aa..0000000000 --- a/v2.8.0/iw-rIL/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/iw-rIL/user/connections.html b/v2.8.0/iw-rIL/user/connections.html deleted file mode 100644 index 00ba581a7a..0000000000 --- a/v2.8.0/iw-rIL/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State תיאור
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 מנותק No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/iw-rIL/user/debug-logs.html b/v2.8.0/iw-rIL/user/debug-logs.html deleted file mode 100644 index e5e6371646..0000000000 --- a/v2.8.0/iw-rIL/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/iw-rIL/user/desktop.html b/v2.8.0/iw-rIL/user/desktop.html deleted file mode 100644 index 75d4359e4d..0000000000 --- a/v2.8.0/iw-rIL/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
מפה ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
הגדרות ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/iw-rIL/user/discovery.html b/v2.8.0/iw-rIL/user/discovery.html deleted file mode 100644 index 7ceb79b4f1..0000000000 --- a/v2.8.0/iw-rIL/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control תיאור
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

בדיקת מסלול

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/iw-rIL/user/firmware.html b/v2.8.0/iw-rIL/user/firmware.html deleted file mode 100644 index d56a2a5ff0..0000000000 --- a/v2.8.0/iw-rIL/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

ערוץ תיאור
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/iw-rIL/user/help-and-docs.html b/v2.8.0/iw-rIL/user/help-and-docs.html deleted file mode 100644 index 8075b324ab..0000000000 --- a/v2.8.0/iw-rIL/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/iw-rIL/user/map-and-waypoints.html b/v2.8.0/iw-rIL/user/map-and-waypoints.html deleted file mode 100644 index fda7b843be..0000000000 --- a/v2.8.0/iw-rIL/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property תיאור
שם Short identifier (max 29 characters)
תיאור Optional longer description
Icon Visual marker emoji on the map
נעול If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/iw-rIL/user/messages-and-channels.html b/v2.8.0/iw-rIL/user/messages-and-channels.html deleted file mode 100644 index 533e741a10..0000000000 --- a/v2.8.0/iw-rIL/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level תיאור
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
שגיאה Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

שגיאה Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
No Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
No Channel The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Bad Request Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/iw-rIL/user/mqtt.html b/v2.8.0/iw-rIL/user/mqtt.html deleted file mode 100644 index 69173af31c..0000000000 --- a/v2.8.0/iw-rIL/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting תיאור Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction תיאור
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format תיאור Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/iw-rIL/user/node-metrics.html b/v2.8.0/iw-rIL/user/node-metrics.html deleted file mode 100644 index 940800db51..0000000000 --- a/v2.8.0/iw-rIL/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric תיאור
Battery Level Current battery percentage
Voltage Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit תיאור
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Good < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric תיאור
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Good SNR above the preset’s limit
Fair less than 5.5 dB below the limit
Bad 5.5 dB to 7.5 dB below the limit
None more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric תיאור
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

בדיקת מסלול

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/iw-rIL/user/nodes.html b/v2.8.0/iw-rIL/user/nodes.html deleted file mode 100644 index 7edc4e2390..0000000000 --- a/v2.8.0/iw-rIL/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role תיאור
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

פילטר תיאור
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort תיאור
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Last heard Last heard
מרחק Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/iw-rIL/user/onboarding.html b/v2.8.0/iw-rIL/user/onboarding.html deleted file mode 100644 index fd7d9c479c..0000000000 --- a/v2.8.0/iw-rIL/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/iw-rIL/user/settings-module-admin.html b/v2.8.0/iw-rIL/user/settings-module-admin.html deleted file mode 100644 index a5c48cc3a8..0000000000 --- a/v2.8.0/iw-rIL/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting תיאור
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting תיאור
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting תיאור
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting תיאור
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting תיאור
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting תיאור
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting תיאור
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
הודעות Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting תיאור
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting תיאור
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting תיאור
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting תיאור
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting תיאור
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting תיאור
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Remote Administration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

אתחול מחדש

Remotely reboot a connected or administered node.

פאנל דיבאג

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/iw-rIL/user/settings-radio-user.html b/v2.8.0/iw-rIL/user/settings-radio-user.html deleted file mode 100644 index 2e987f7556..0000000000 --- a/v2.8.0/iw-rIL/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting תיאור
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting תיאור Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting תיאור Default
אזור Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting תיאור
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting תיאור
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting תיאור
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting תיאור
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting תיאור
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting תיאור
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/iw-rIL/user/signal-meter.html b/v2.8.0/iw-rIL/user/signal-meter.html deleted file mode 100644 index 50a7c66ccb..0000000000 --- a/v2.8.0/iw-rIL/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Good 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Fair 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Bad 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
None 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/iw-rIL/user/tak.html b/v2.8.0/iw-rIL/user/tak.html deleted file mode 100644 index 8248c08fb9..0000000000 --- a/v2.8.0/iw-rIL/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting תיאור
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role תיאור
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting תיאור
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/iw-rIL/user/telemetry-and-sensors.html b/v2.8.0/iw-rIL/user/telemetry-and-sensors.html deleted file mode 100644 index be3271e3e7..0000000000 --- a/v2.8.0/iw-rIL/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric תיאור Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperature Humidity Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric תיאור
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit תיאור
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/iw-rIL/user/translate.html b/v2.8.0/iw-rIL/user/translate.html deleted file mode 100644 index 185bfefb1b..0000000000 --- a/v2.8.0/iw-rIL/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/iw-rIL/user/units-and-locale.html b/v2.8.0/iw-rIL/user/units-and-locale.html deleted file mode 100644 index fda7668d04..0000000000 --- a/v2.8.0/iw-rIL/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/iw-rIL/user/widget.html b/v2.8.0/iw-rIL/user/widget.html deleted file mode 100644 index 8047f971ca..0000000000 --- a/v2.8.0/iw-rIL/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 עברית
Meshtastic Docs ↗

🌐 עברית — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/ja-rJP/index.html b/v2.8.0/ja-rJP/index.html deleted file mode 100644 index 59ce4ecd35..0000000000 --- a/v2.8.0/ja-rJP/index.html +++ /dev/null @@ -1 +0,0 @@ - ホーム | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

Meshtastic Android アプリのドキュメント

KMP(Kotlin Multiplatform)で構築された Meshtastic の Android、デスクトップ、iOS アプリ向けの、ユーザーおよび開発者向けドキュメントです。

サイドバーのナビゲーションから、アプリの機能についてはユーザーガイドを、プロジェクトへの貢献については開発者ガイドをご覧ください。


クイックリンク

ガイド 説明
はじめに 最初の無線機を接続してメッセージを送信する
メッセージとチャンネル チャンネルのブロードキャスト、ダイレクトメッセージ、リアクション、暗号化
ノード メッシュネットワークのノードリストを理解する
信号メーター LoRa の信号品質メーターの仕組み
単位とロケール 温度・距離・時刻が地域に合わせて変わる仕組み
デスクトップアプリ Linux、macOS、Windows でのデスクトップ利用
アーキテクチャ コントリビューター向けのアプリアーキテクチャ概要
コントリビューション ブランチ命名、PR ワークフロー、検証コマンド

このドキュメントは、アプリ内のヘルプとドキュメントブラウザと同じ Markdown ソースから提供されています。


diff --git a/v2.8.0/ja-rJP/user/android-auto.html b/v2.8.0/ja-rJP/user/android-auto.html deleted file mode 100644 index 7a3092b47b..0000000000 --- a/v2.8.0/ja-rJP/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

Android Auto

Meshtastic は Android Auto と連携しており、ハンドルから手を、道路から目を離すことなく、運転中もメッシュとつながっていられます。

⚠️ 注意: Android Auto のサポートは、Google 版の Android ビルドでのみ利用できます。 F-Droid 版には含まれておらず、デスクトップや iOS でも利用できません。

ℹ️ 現在提供されている機能: Google Play 版は、通知のみの車載メッセージング機能を提供します。受信メッセージがヘッドユニットで通知され、その通知コントロールから返信します。 以下で説明する、タブ形式の完全なメッセージ/ノード/ステータス体験は、Android Car App Library 上に構築されたベータ版で(Google のテンプレート型車載 UI は現在、Play の Closed/Internal トラックに制限されています)、-PenableCarTemplates=true でコンパイルしたビルドにのみ表示されます。 このページの残りの部分では、そのベータ体験について説明します。

概要

スマートフォンが Android Auto のヘッドユニット(または開発用の Desktop Head Unit エミュレーター)に接続されると、ベータ版のビルドは、Android Car App Library で構築されたメッセージングアプリとして Meshtastic を表示し、運転中でも安全にひと目で使えるよう最適化された、タブ形式のホーム画面を備えます:

  • メッセージ:最近の会話。ハンズフリーの読み上げと返信ができます。
  • ノード:メッシュのノードリスト。ノード詳細ビューを備えます。
  • ステータス:現在の接続とメッシュの状態。

車載アプリは、独自の新しい接続を追加しません。 Meshtastic アプリの既存の接続・ノード・メッセージの状態を使うため、スマートフォンがすでに接続している対象をそのまま反映します。

⚠️ 注意: 車載アプリがライブデータを表示するには、スマートフォンが Meshtastic 無線機に接続されている必要があります。 アプリが切断されている場合、車載画面はその切断状態を反映します。

メッセージ

メッセージタブには、最近の会話が一覧表示されます。 運転中は、次のことができます:

  • メッセージを読み上げてもらうことで、画面を見る必要がなくなります。
  • ヘッドユニットの返信コントロールを使って音声またはテキストで返信し、ハンズフリーで応答を音声入力できます。

ノード

ノードタブには、メッシュのノードリストが車載向けのレイアウトで表示されます。 ノードを選択すると、そのノードの主要な情報を含むノード詳細ビューが開きます。 表示される情報の詳しい意味については、ノード を参照してください。

ステータス

ステータスタブは、現在の接続とメッシュの状態をひと目で分かるようにまとめます。スマートフォンを開かずに、無線機にまだ接続されているか確認するのに便利です。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/app-functions.html b/v2.8.0/ja-rJP/user/app-functions.html deleted file mode 100644 index d0d103e35e..0000000000 --- a/v2.8.0/ja-rJP/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - アプリ機能 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

アプリ機能

アプリ機能は、Android App Functions API を通じて、Meshtastic の機能を Android システムやオンデバイスの AI アシスタント(Gemini など)に公開します。 有効にすると、アシスタントがあなたに代わってメッシュのワークフロー(例:メッセージの送信やメッシュ状態の確認)を見つけて実行でき、アプリを開く必要がありません。

⚠️ 注意: アプリ機能は、Google 版の Android ビルドでのみ利用できます。

⚠️ 注意: これは、アプリ内の Chirpy アシスタントとは別のものです。 アプリ機能はシステムの AI アシスタントがあなたのメッシュを操作できるようにするもので、Chirpy は Meshtastic アプリ内の対話型アシスタントです。

アプリ機能を有効にする

アプリ機能は「設定 → システム AI」から制御します(アプリ内の画面は「System AI」と表示されます)。 この画面には次があります:

  • 「AI のアクセスを許可」というラベルのマスタートグル。サブタイトルは 「システムの AI アシスタント(例:Gemini)がメッシュ機能を見つけて使えるようにする」 です。 オフの場合、システムには機能が一切公開されません。
  • 各機能ごとの個別トグル。公開したい機能だけを公開できます。

機能は、書き込みセクション(何かを変更したり、メッシュにデータを送信したりする機能)と、読み取りセクション(情報を返すだけの機能)に分かれています。

マスタートグルと機能ごとのトグルを備えたアプリ機能の画面

書き込み機能

機能 内容
メッセージを送信 連絡先(ダイレクトメッセージ)またはチャンネルに、最大 237 バイトのテキストメッセージを送信します。

読み取り機能

機能 返す内容
メッシュ状態を取得 メッシュ全体の状態。
ノードリストを取得 メッシュ上のノードのリスト。
チャンネル情報を取得 チャンネルに関する情報。
デバイス状態を取得 接続中の無線機の状態。
ノード詳細を取得 特定のノードに関する詳細情報。
最近のメッセージを取得 会話からの最近のメッセージ。
未読の概要を取得 未読メッセージの概要。
メッシュメトリクスを取得 メッシュからのテレメトリとメトリクス。

プライバシー

🔒 プライバシー: 「メッセージを送信」機能は、アシスタントがあなたに代わってメッシュにメッセージを送信できるようにします。 アシスタントに使わせても信頼できる機能だけを有効にしてください。 読み取り機能は、ノード・メッセージ・メトリクスのデータをアシスタントに公開します。共有しても差し支えないものだけを有効にしてください。 各機能には独自のトグルがあり、マスタートグルはそれらすべてを一度にオフにします。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/connections.html b/v2.8.0/ja-rJP/user/connections.html deleted file mode 100644 index 31119a0dd2..0000000000 --- a/v2.8.0/ja-rJP/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - コネクション | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

コネクション

Meshtastic は、スマートフォン/デスクトップと無線機ノード間の通信に複数の接続方式をサポートしています。

Bluetooth(BLE)

Bluetooth Low Energy は、Android で標準的かつ最も一般的な接続方法です。

デバイスをペアリングする

  1. Meshtastic 無線機の電源が入っていて、ペアリングモードになっていることを確認します。
  2. アプリを開き、「接続」タブに移動します。
  3. 「Bluetooth デバイスをスキャン」をタップすると、近くの Meshtastic 無線機が表示されます。
  4. リストからデバイスを選択します。
  5. Bluetooth のペアリング確認が表示されたら承認します。

Bluetooth デバイスをスキャンし、見つかった無線機がリストに表示されている様子

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 ヒント: デバイスが表示されない場合は、Bluetooth と位置情報の権限が許可されているか、また無線機が別のデバイスにすでに接続されていないかを確認してください。

接続ステータス

アイコン 状態 説明
🟢 接続済 無線リンクが確立しています
🟡 接続中 ハンドシェイク中
🔴 切断 接続がありません
⚪ 未設定 デバイスが選択されていません

接続時には、ステータスインジケーターが現在の接続状態を表示します:

接続中のステータス

デバイスが見つからない場合、アプリは操作手順とともに空の状態を表示します:

デバイスが見つからない状態

Bluetooth のトラブルシューティング

  • デバイスが見つからない: Bluetooth をオフ/オンし、位置情報が有効になっていることを確認します。
  • 接続が切れる: 無線機に近づき、電波干渉がないか確認します。
  • ペアリングが拒否される: Android の Bluetooth 設定でデバイスの登録を解除し、やり直します。

USB シリアル

USB 接続は有線での代替手段で、デスクトップや Bluetooth が使えない場合に便利です。

セットアップ

  1. USB ケーブルで無線機をデバイスに接続します。
  2. アプリが USB の使用許可を求めるので、「許可」をタップします。
  3. 接続が自動的に確立されます。

⚠️ 注意: USB 接続には、Android デバイスの OTG 対応が必要です。

TCP/IP(ネットワーク)

一部の Meshtastic 無線機は WiFi/Ethernet 接続に対応しており、ローカルネットワーク経由の TCP 接続が可能です。 まず、無線機自身の WiFi 設定(ファームウェアのウェブインターフェースや別の接続方法を使用)で無線機をネットワークに接続し、その後アプリから接続します。

ネットワーク経由で接続する

  1. 無線機がスマートフォン/デスクトップと同じローカルネットワーク上にあることを確認します。
  2. On the Connect screen, select Network in the transport selector.
  3. 無線機は次の 2 通りの方法で選べます:
    • ネットワークデバイスをスキャン:これをオンにすると、ローカルネットワーク上で自身を告知している無線機(mDNS / _meshtastic._tcp)を自動的に探索します。 見つかったデバイスがリストに表示されるので、タップして接続します。
    • デバイスを手動で追加…:無線機の IP アドレス(またはホスト名)とポート(既定:4403)を入力します。
  4. 以前使用したネットワークアドレスは「最近のネットワークデバイス」に記憶され、すばやく再接続できます(長押しで削除できます)。

💡 ヒント: ネットワーク探索は mDNS を使用するため、両方のデバイスが同じサブネット上にある場合にのみ機能します。 Android 17 以降では、スキャンにローカルネットワークの権限が必要です。探索で何も見つからない場合は、IP アドレスでデバイスを手動追加してください。

TCP を使う場面

  • 無線機が同じローカルネットワーク上にある
  • シミュレートされた無線機でテストする
  • Bluetooth の電波干渉が問題になる環境

再接続の動作

アプリは起動時に「最後に選択したデバイス」へ再接続します。 接続方式は、接続画面からいつでも切り替えられます。

切断するには、接続画面の切断ボタンをタップします:

無線機から切断

デスクトップでの接続

デスクトップ(Linux/macOS/Windows)では、アプリは次の接続方式に対応しています:

  • Bluetooth(BLE): Kable ライブラリを使用。macOS、Linux、Windows で動作します
  • USB シリアル: 主要な有線接続方法
  • TCP/IP: ネットワーク接続された無線機向け

プラットフォームごとの詳細やキーボードショートカットについては、デスクトップアプリ を参照してください。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/debug-logs.html b/v2.8.0/ja-rJP/user/debug-logs.html deleted file mode 100644 index 56069252b1..0000000000 --- a/v2.8.0/ja-rJP/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - デバッグログ | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

デバッグログ

何か不具合が起きたとき、アプリのデバッグログは、バグ報告に添付できる最も役立つものです。 Meshtastic は、アプリ内で自動的にログをキャプチャできます。収集に adb やデスクトップのツールは不要になりました。

「設定 → 詳細設定 → デバッグパネル」から「デバッグパネル」を開きます。

📎 issue を作成しますか? ログをエクスポートし(下記参照)、github.com/meshtastic/Meshtastic-Android/issues の報告に .txt ファイルを添付してください。 問題が起きた瞬間を含むログのキャプチャは、「動かない」という報告を、開発者が実際に追跡できるものに変えます。

2 つのタブ

デバッグパネルには 2 つのタブがあります:

  • パケット:無線機が送受信した、デコード済みのメッシュトラフィック(プロトコルレベルのメッセージ)。 メッシュやルーティングの動作を診断するのに役立ちます。
  • アプリログ:アプリ自身の診断ログ(Android の logcat)。アプリからの警告、エラー、スタックトレースを含みます。 通常、バグ報告に必要なのはこちらです。

各タブには独自のエクスポートボタンがあり、それぞれ別のファイルを生成するため、関連する方を、または両方を取得できます。

アプリログを表示する

「アプリログ」タブは、このアプリのみの最新のログ行を表示します。デバイス上の他のアプリのものは表示しません。

  • 検索:検索ボックスに入力すると、一致する行に絞り込めます。
  • レベルフィルター:V/D/I/W/E のチップで、Verbose、Debug、Info、Warn、Error の行を切り替えます。 レベルをタップすると非表示になり、もう一度タップすると再表示されます。 Fatal の行は常に表示されます。
  • 更新:更新アイコンで最新のログを読み直します。

エラーと警告の行は色付けされ、問題が目立つようになっています。

エクスポート

ダウンロードアイコンをタップすると、現在のログをファイルに保存できます。 保存先はシステムのファイル選択画面で選び、ファイルにはタイムスタンプ付きの名前(例:meshtastic_logcat_20260701_143312.txt)が付くため、繰り返しエクスポートしても互いに上書きされることはありません。

そのファイルを GitHub の issue に添付してください。

🔒 プライバシー: エクスポートは、ファイルに書き込む前に、秘密鍵・管理者鍵・セッションパスキーを自動的に秘匿化します。 チャンネルの PSK は秘匿化されません。また、ログにはノード名、位置、その他の識別情報が含まれることがあります。公開して共有する前にファイルにざっと目を通し、少しでも不安があれば非公開で共有してください。

デスクトップ

デスクトップアプリにはシステムの logcat がないため、「アプリログ」タブは代わりに、アプリ自身がキャプチャしたログ出力を表示します。 検索、絞り込み、エクスポートは同じように機能します。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/desktop.html b/v2.8.0/ja-rJP/user/desktop.html deleted file mode 100644 index 48c67435c0..0000000000 --- a/v2.8.0/ja-rJP/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - デスクトップアプリ | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

デスクトップアプリ

Meshtastic デスクトップアプリケーションは、Kotlin Multiplatform を通じて、コアのコードベースを Android と共有しています。 ほとんどの機能は、Linux、macOS、Windows で同じように動作します。

インストール

Linux

  • リリースページから .deb または .AppImage パッケージをダウンロードします
  • または、./gradlew :desktopApp:run を使ってソースからビルドします

macOS

  • リリースから .dmg パッケージをダウンロードします
  • または、ソースからビルドします

Windows

  • リリースから .msi インストーラーをダウンロードします
  • または、ソースからビルドします

無線機を接続する

USB シリアル(主要)

デスクトップで最も信頼できる接続方法です:

  1. USB ケーブルで Meshtastic 無線機を接続します。
  2. アプリがシリアルポートを自動的に検出します。
  3. 検出されない場合は、接続メニューから正しいシリアルポートを選択します。

TCP/IP

ネットワーク接続された無線機の場合:

  1. 無線機の IP アドレスとポート(既定:4403)を入力します。
  2. 「接続」をクリックします。

Bluetooth(BLE)

Bluetooth Low Energy は、Kable ライブラリを通じてデスクトップでサポートされています:

  1. システムに Bluetooth アダプターがあることを確認します。
  2. アプリが近くの Meshtastic 無線機を自動的にスキャンします。
  3. 接続画面からデバイスを選択します。

機能の対応状況

機能 Android デスクトップ 備考
メッセージング ✓ ✓ 完全対応
ノードリスト ✓ ✓ 完全対応
マップ ✓ ◐ マップタブはデスクトップにも存在しますが、インタラクティブなマップビューは Android のみです
設定 ✓ ✓ 完全対応
Bluetooth(BLE) ✓ ✓ デスクトップでは Kable 経由
ファームウェアの更新 ✓ ✓ アプリ内の USB、BLE、Wi-Fi(ESP32)更新はすべて、Android と同じように動作します
通知 ✓ ✓ OS ネイティブの通知
ウィジェット ✓ ✗ Android のみ
Android Auto ✓ ✗ Android のみ。デスクトップや iOS では利用できません
AI アシスタント(Chirpy) ✓* ✗ Google 版の Android のみ
アプリ機能(システム AI) ✓† ✗ Google 版の Android のみ

*Chirpy AI には、対応ハードウェアを備えた Google 版ビルドで Android 14 以降が必要です。

†アプリ機能は、Google 版ビルドで、アプリの操作を Android のシステム AI に公開します。 アプリ機能 を参照してください。

UI の違い

デスクトップアプリは、同じ Compose Multiplatform の UI を使用し、大きな画面とデスクトップ操作に合わせて調整されています。

キーボードショートカット

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

ショートカット 操作
⌘/Ctrl+Q アプリケーションを終了
⌘/Ctrl+, 設定を開く
⌘/Ctrl+1 メッセージタブに切り替え
⌘/Ctrl+2 ノードタブに切り替え
⌘/Ctrl+3 マップタブに切り替え
⌘/Ctrl+4 接続タブに切り替え
⌘/Ctrl+/ バージョン情報を開く

ウィンドウとシステムトレイ

  • ウィンドウのサイズ変更:レスポンシブなレイアウトがウィンドウの寸法に合わせて調整されます
  • システムトレイ:システムトレイに最小化して、バックグラウンドでメッシュを動作させます
  • トレイメニュー:トレイアイコンを右クリックして、ウィンドウ表示または終了します
  • マウス操作:ホバー状態と標準的なデスクトップのナビゲーション

通知の設定

デスクトップアプリには、どの通知を表示するか(メッセージ、新しいノード、バッテリー低下の警告)を制御するアプリ内トグルがあります。 これらには、アプリ内の「設定 → 通知」からアクセスします。

組み込みのドキュメントブラウザー

デスクトップアプリには、アプリケーションを離れることなくヘルプコンテンツにすばやくアクセスできる、組み込みのドキュメントブラウザーが含まれています。

目次付きのドキュメントブラウザー

ブラウザーは、すべてのドキュメントを対象とした全文検索に対応しています:

ドキュメントブラウザーの検索

個々のドキュメントページは、完全な書式で表示されます:

ドキュメントページ

ソースからビルドする

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

要件:

  • JDK 21
  • デスクトップのみのビルドに Android SDK は不要です

既知の制限

  • インタラクティブなマップビューは Android のみです。マップタブは存在しますが、デスクトップではマップが表示されません。
  • 一部の Android 固有の機能(ウィジェット、特定の通知チャンネル)は利用できません
  • Compose Desktop を実行する低スペックのハードウェアでは、パフォーマンスが変わることがあります
  • デスクトップでは BLE のボンディングはまだサポートされていません(ペアリングはボンディングなしで機能します)

関連トピック



diff --git a/v2.8.0/ja-rJP/user/discovery.html b/v2.8.0/ja-rJP/user/discovery.html deleted file mode 100644 index ccbf6645ef..0000000000 --- a/v2.8.0/ja-rJP/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - 探索 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

探索

探索ツールは、メッシュネットワークがどのようにつながっているか(どのノードが互いに受信できるか、メッセージがどの経路を通るか、ボトルネックや弱いリンクがどこにあるか)を把握するのに役立ちます。

アプリは、互いを補完する 2 つの方法を提供します:

  • ローカルメッシュ探索(スキャナー):接続中の無線機をさまざまな LoRa プリセットで順に切り替え、それぞれで受信し、あなたの場所でどのプリセットが最も性能が良いかをランク付けする自動モードです。
  • 手動での探索:ルート追跡、隣接ノード情報、ノードリスト。特定の経路やトポロジーを調べるために、いつでも使えます。

ローカルメッシュ探索(スキャナー)

ローカルメッシュ探索は、あなたの場所に最適な LoRa モデムプリセットを見つけ、各プリセットでどのノードがアクティブかを確認できる、専用のスキャンモードです。 接続中の無線機を、選択した 1 つ以上のプリセットで順に切り替え、パケットを収集するために各プリセットで一定時間受信(「滞在」)し、その後、結果を分析してランク付けします。

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ 注意: 探索は、スキャン中に無線機の LoRa 設定を一時的に変更し、完了時に元の構成に戻します。 スキャンを実行するには、デバイスが接続されている必要があります。

スキャンを設定する

開始する前に、次のコントロールを設定します:

コントロール 説明
LoRa プリセットの選択 スキャンするプリセットを 1 つ以上選択します。 探索は、選択した各プリセットに順番に滞在します。
滞在時間 各プリセットで受信する時間。 1、5、15、30、45、60、90、120、180 分から選択します。 滞在時間を長くすると、より多くのパケットを収集してより明確な状況が分かりますが、時間もかかります。
画面をスリープさせない 長いスキャン中に画面がスリープするのを防ぐ、任意のトグルです。

「開始」ボタンは、スキャンを実行できるようになるまで(理由の説明とともに)無効のままです。 無効になる主な理由:

  • デバイスが接続されていない。
  • スキャンするプリセットが選択されていない。
  • 選択したプリセットが、ハードウェアが対応していない 2.4 GHz を使用している。

リアルタイムの進行状況

スキャンの実行中、探索は現在の段階を表示します:

段階 実行中の内容
準備中 現在の構成を保存し、スキャンの準備をしています。
<preset> に切り替え中 テストする次のプリセットに無線機を切り替えています。
再接続中 プリセット変更後に接続を再確立しています。
滞在 現在のプリセットで受信してパケットを収集しており、次のステップまでのカウントダウンが表示されます。
分析 収集したパケットを処理し、プリセットをランク付けしています。
復元中 元の LoRa 構成に戻しています。

現在のプリセットの残り時間を示す滞在のカウントダウン

結果の見方

スキャンが完了すると、探索はテストした各プリセットのプリセット別の結果カードと、全体の概要を表示します。

ランキングと収集したメトリクスを含むプリセット別の結果カード

メトリクスには次が含まれます:

メトリクス 分かること
RF の健全性 そのプリセットにおける無線環境の総合的な品質。
チャンネル利用率 滞在中に電波がどれだけ混雑していたか。
電波利用時間 観測された送信時間。
直接受信と中継ノード 直接受信できたメッシュノードと、中継経由のノードの数。
不良/重複パケット 破損したパケットと繰り返されたパケットの数で、輻輳や干渉を示します。

結果から利用できる追加機能:

  • スキャン履歴:後で見直せる保存済みのセッション。過去のスキャンを表示または削除できます。
  • 探索マップ:スキャン中に見つかったノードのマップ。
  • レポートのエクスポート:Android では PDF として、他のプラットフォームではテキストとしてレポートをエクスポートします。

💡 ヒント: Android では、探索が結果のオンデバイス AI 要約(Gemini Nano)を生成できます。 オンデバイスのモデルが利用できない場合は、代わりにアルゴリズムによる要約が使われるため、常にスキャンの読みやすい解釈が得られます。


メッシュビーコン

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


手動での探索

以下のツールは、ノードリストとノードの詳細画面からいつでも利用できます。 完全なスキャンと併用して、またはその代わりに、特定の経路を調べてトポロジーの全体像を組み立てるのに使えます。

ルート追跡

ルート追跡は、メッセージが自分のノードから、メッシュ上の他の任意のノードへ通る正確な経路を明らかにします。 接続の問題をデバッグするのに、最も役立つツールです。

ルート追跡を実行する

  1. 「ノード」に移動し、追跡したいノードをタップします。
  2. ノードの詳細画面で、「ルート追跡」をタップします。
  3. アプリがルート追跡の要求を送信し、応答を待ちます。
  4. 結果には、各ホップが順番に、各段階の信号品質とともに表示されます。

結果の見方

ルート追跡の結果は次のように表示されます:

自分 → ノード A (SNR: 8.5, RSSI: -95) → ノード B (SNR: 5.2, RSSI: -108) → ターゲット
-

各ホップは、メッセージを転送した中継ノードを表します。 各ホップの SNR と RSSI の値から、その特定の区間のリンク品質が分かります。

確認すべき点 意味
すべてのホップが良い SNR(−7 dB 以上、緑)を示す 健全な経路。メッセージが確実に流れます
1 つのホップが悪い SNR(−15 dB 未満、赤)を示す 弱いリンク。この中継区間は脆弱です
ホップ数が多い(4 以上) 長い経路。短くするためにノードの再配置を検討してください
再試行で経路が変わる メッシュが適応しています。複数の経路が存在します(これは良いことです!)

💡 ヒント: ルート追跡を数分間かけて何度か実行してください。 経路が変わる場合、メッシュには冗長な経路があり、よくつながったネットワークの兆候です。

ルート追跡によるトラブルシューティング

  • 「経路が見つかりません」:対象のノードがオフラインか、圏外か、別のチャンネルにいる可能性があります。 両方のノードが、同じ暗号化鍵を持つチャンネルを少なくとも 1 つ共有しているか確認してください。
  • ルート追跡がタイムアウトする:経路が長すぎる(ホップ数上限を超える)か、中継ノードが混雑している可能性があります。 「設定 → LoRa 設定」でホップ数上限を増やしてみてください。
  • 非対称な経路:A→B のルート追跡は、B→A とは異なる経路を通ることがあります。 これは正常です。電波の伝搬は常に対称とは限りません。

隣接ノード情報

隣接ノード情報モジュールを使うと、各ノードが直接受信できる(シングルホップの)ノードのリストをブロードキャストできます。 複数のノードが隣接ノードのリストを共有すると、メッシュ全体のトポロジーマップを組み立てられます。

隣接ノード情報を有効にする

  1. 「設定 → モジュール設定 → 隣接ノード情報」に移動します。
  2. モジュールを有効にします。
  3. ブロードキャスト間隔を設定します(デフォルト:900 秒/15 分)。

有効にすると、ノードは隣接ノードのテーブルを定期的にブロードキャストします。 隣接ノード情報を有効にしている他のノードも、同じことを行います。

隣接ノードのデータを表示する

  • 任意のノードの詳細画面を開き、「隣接ノード」セクションを探します。
  • 各隣接ノードの項目には、直接受信したノードとその信号品質が表示されます。
  • 複数のノードの隣接ノードデータを組み合わせて、メッシュ全体のトポロジーを把握します。

⚠️ 注意: 隣接ノード情報は、有効にした各ノードが隣接ノードのリストを定期的にブロードキャストするため、電波利用時間の消費が増えます。 ノードの多い混雑したメッシュでは、輻輳を避けるために、より長いブロードキャスト間隔(3600 秒以上)を検討してください。


探索ツールとしてのノードリスト

ノードリスト自体も、絞り込みと並べ替えの機能を効果的に使えば、強力な探索ツールになります。

新しいノードを見つける

  • 「最後の通信」で並べ替えると、最近アクティブだったノードが先頭に表示されます。
  • 「不明なノードを含む」を有効にすると、メッシュに現れたもののまだユーザー情報を送信していないノードが表示されます。これらは、電源を入れたばかりのデバイスであることがよくあります。

接続性を評価する

  • 「ホップ数」で並べ替えると、直接到達できるノード(0 ホップ)と中継されるノードが分かります。
  • 「距離」で並べ替えると、近くのノードを見つけて、到達できるか確認できます。
  • 「MQTT を除外」を使うと、(インターネットブリッジ経由ではなく)無線で到達できるノードに絞り込めます。

インフラの監査

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • 信号品質と最後の通信時刻を確認して、インフラのノードが健全であることを確かめます。

絞り込みと並べ替えのオプションの詳細については、ノード を参照してください。


メッシュ探索のヒント

  • まずルート追跡から:特定の経路について、すぐに役立つ情報が得られます。
  • 主要なノードで隣接ノード情報を有効に:特にルーターやリピーターで有効にして、バックボーンの全体像を組み立てます。
  • マップを確認:マップ 上のノードの位置と信号データを組み合わせると、なぜあるリンクは強く、別のリンクは弱いのかが分かります。
  • 信号を時系列で比較:信号メーター のガイドを使って、SNR と RSSI の値を正しく解釈します。


diff --git a/v2.8.0/ja-rJP/user/firmware.html b/v2.8.0/ja-rJP/user/firmware.html deleted file mode 100644 index 877540a76f..0000000000 --- a/v2.8.0/ja-rJP/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - ファームウェア更新 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

ファームウェア更新

新機能、バグ修正、セキュリティ改善のために、Meshtastic 無線機を最新のファームウェアに保ちましょう。

更新を確認する

  1. 接続中の無線機の設定を開き、「詳細設定」で「ファームウェア更新」をタップします。 この項目は、OTA に対応したデバイスでのみ表示されます。
  2. アプリが、利用可能なファームウェアバージョンを確認します。
  3. 利用可能な更新には、バージョン番号と変更履歴の概要が表示されます。

更新方法

Bluetooth 経由の OTA(無線更新)

Android ユーザーにとって最も一般的な更新方法です:

  1. 無線機が Bluetooth で接続されていることを確認します。
  2. ファームウェア更新画面に移動します。
  3. 希望するファームウェアバージョンを選択します。
  4. 「更新」をタップして OTA 処理を開始します。
  5. 更新が完了するまで待ちます。更新中は接続を切断しないでください。

ファームウェアの更新を確認中

⚠️ 警告: ファームウェア更新を中断すると、デバイスが起動不能になることがあります。 無線機のバッテリーが十分にある(50% 以上を推奨)ことを確認し、処理の間ずっと Bluetooth の通信範囲内に置いてください。

ファームウェアの免責事項

アプリ内での USB 更新

無線機が(Bluetooth ではなく)USB/シリアルで接続されている場合、ファームウェア更新画面に「USB ファイル転送」が表示されます。 アプリはデバイスを DFU モードで再起動し、システムのファイル選択画面を使って .uf2 ファイルをデバイスの DFU ドライブに保存するよう促します。 このオプションは USB/シリアル接続でのみ表示され、Bluetooth では利用できません。

ℹ️ nRF ブートローダーに関する注意: 一部のデバイス(例:RAK WisBlock RAK4631)では、ベンダーのシリアル DFU ツール(adafruit-nrfutil など)でブートローダーを書き込む必要があります。.uf2 をコピーするだけではブートローダーは更新されません。 これに該当する場合、アプリがヒントを表示します。

その他の書き込み方法

復旧時、または OTA とアプリ内 USB のどちらも使えない場合:

バージョンチャンネル

チャンネル 説明
安定版 ほとんどのユーザーに推奨。テスト済みのリリース
アルファ版 プレビューリリース。バグを含む場合があります
ローカルファイル ダウンロードしたリリースではなく、自分で選んだファームウェアファイルを書き込む

更新前のチェックリスト

更新する前に:

  • バッテリー 50% 以上
  • 安定した Bluetooth 接続
  • 現在の設定を控えておく(メジャーバージョンの変更時にリセットされることがあります)
  • 破壊的変更がないか、リリースノートを確認する

更新後

ファームウェアの書き込み後、アプリは更新を検証し、デバイスが再びオンラインになるのを待ちます:

更新を検証し、デバイスの再接続を待っている様子

更新が成功すると:

  • 無線機が自動的に再起動します
  • Bluetooth 接続が再確立されます
  • 設定が保持されているか確認します
  • ファームウェア更新画面の「現在インストール済み」で新しいバージョンを確認します。バージョンは、ノードの詳細ページや接続画面にも表示されます

ファームウェア更新の成功

トラブルシューティング

更新が止まる

更新が固まったように見える場合:

  • 手を加える前に、少なくとも 5 分待つ
  • 本当に止まっている場合は、無線機の電源を入れ直す
  • もう一度更新を試みる

ファームウェア更新のエラー

更新後にデバイスが起動しない

デバイスが起動しない場合:

  1. USB でコンピューターに接続してみる
  2. リカバリー/DFU モードで Web Flasher を使用する
  3. 動作確認済みのファームウェアバージョンを書き込む
  4. デバイス固有の復旧手順については、Meshtastic の Discord を確認する

互換性の警告

次の場合、アプリが警告を表示することがあります:

  • 接続中の無線機のファームウェアが、対応する最小バージョンを下回っている
  • アプリとファームウェアの間でメジャーバージョンが一致していない
  • 非推奨の機能に移行が必要

⚠️ 重要: 互換性を確保するため、ファームウェア更新の前、または同時に、必ず Meshtastic アプリを更新してください。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/help-and-docs.html b/v2.8.0/ja-rJP/user/help-and-docs.html deleted file mode 100644 index 6700452950..0000000000 --- a/v2.8.0/ja-rJP/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - ヘルプとアプリ内ドキュメント | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

ヘルプとアプリ内ドキュメント

このユーザードキュメントはアプリ内にも同梱されており、Meshtastic を離れることなくオフラインで読めます。 「設定 → ヘルプとドキュメント」から開きます。

閲覧する

ドキュメントブラウザーには、ユーザーガイドのすべてのページが一覧表示されます。 ページをタップすると読めます。画像や相互リンクも、ここと同じように機能します。

アプリ内ドキュメントブラウザーの目次

検索

検索アイコンをタップして入力すると、タイトルとキーワードでページを絞り込めます。結果は入力に応じて更新されます。

アプリ内ドキュメントの検索

ブラウザーで開いたページ:

アプリ内で表示されたドキュメントページ

Chirpy:AI アシスタント

Chirpy は、この同梱ドキュメントを情報源として、Meshtastic に関する平易な質問に答えます。 ドキュメントブラウザーで Chirpy ボタンをタップして質問を入力すると、回答と、関連ページへのリンクが返ってきます。

ページリンク付きで質問に答える Chirpy AI アシスタント

🔒 プライバシー: 対応する Google 版のデバイスでは、Chirpy は Gemini Nano を使ってオンデバイスで動作します。質問がスマートフォンの外に出ることはありません。 初回使用時に、小さなモデルがダウンロードされます。

⚠️ 注意: F-Droid 版、デスクトップ版、iOS 版では、Chirpy は生成モデルではなく、ドキュメントに対するキーワード検索にフォールバックします。 デバイスがオンデバイス AI に対応していない場合、アシスタントは非表示になり、ドキュメントの閲覧と検索は通常どおり行えます。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/map-and-waypoints.html b/v2.8.0/ja-rJP/user/map-and-waypoints.html deleted file mode 100644 index 755da9ce32..0000000000 --- a/v2.8.0/ja-rJP/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - マップとウェイポイント | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

マップとウェイポイント

マップ画面には、メッシュ上のノードの地理的な位置が、共有されたウェイポイントとともに表示されます。

マップビュー

マップには次のものが表示されます:

  • ノードの位置: 位置を報告している各ノードの色付きマーカー
  • ウェイポイント: 共有された注目地点
  • 自分の位置: 現在の GPS 位置

ノードのマーカー

位置を報告している各ノードは、そのノードの短縮名を表示するノードチップマーカーとして表示されます。 チップは、そのノード固有のアイデンティティカラー(ノード番号から導かれる一定の色)で色付けされます。ノードリストで使われるのと同じチップなので、どこでも同じ見た目になります。 マーカーの色は、オンライン/オフラインの状態を表しません。 ノードの位置がライブで更新されると、そのマーカーが短く脈打つように点滅します。 縮小すると、近くのマーカーはまとめて表示(クラスタリング)されます。

マップの操作

  • ズーム: ピンチ操作、または +/− ボタンを使います
  • 移動: ドラッグして見て回ります
  • 中央に配置: 位置ボタンを選ぶと、自分の位置を中央に表示します
  • ノードのタップ: ノードのマーカーをタップすると詳細を表示します

フローティングツールバーから、コンパス、レイヤーの切り替え、ノードの絞り込み、更新、位置追跡にすばやくアクセスできます。 コンパスをタップすると北を上に向け直し、位置ボタンをタップすると現在の位置を中央に表示します。

マップ操作のオーバーレイ

ウェイポイント

ウェイポイントは、メッシュの全メンバーが見られる、共有された地理的な注目地点です。

ウェイポイントを作成する

  1. マップ上の目的の場所を長押しします。
  2. 名前と、任意で説明を入力します。
  3. ウェイポイントのアイコン/絵文字を選びます。
  4. 「送信」をタップしてメッシュに共有します。

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

ウェイポイントのプロパティ

プロパティ 説明
名前 短い識別子(最大 29 文字)
説明 任意の、より詳しい説明
アイコン マップ上の視覚的なマーカー絵文字
ロック済み ロックすると、作成者だけが編集・削除できます
有効期限 任意の、自動削除する日時
ジオフェンス 任意の、進入/退出を通知するエリア。詳しくは後述します

ウェイポイントの有効期限

ウェイポイントは、自動的に期限切れになるよう設定できます:

  • なし(デフォルト):手動で削除するまでウェイポイントは残ります
  • 期限付き:特定の日時を指定します。その時刻を過ぎると、ウェイポイントは自動的に削除されます。 集合地点、危険箇所、待ち合わせ場所などの一時的なマーカーに便利です。

期限切れのウェイポイントは、表示が煩雑にならないよう、自動的にマップから隠されます。 有効期限のカウントダウンは、指定した絶対時刻を基準とし、ウェイポイントが作成または受信されてからの経過時間ではありません。

ウェイポイントのジオフェンス

どのウェイポイントにもジオフェンス(通知エリア)を設定できます。これにより、ノードがそのエリアに進入または退出したときに、あなたや他のメンバーに通知が届きます:

  1. プリセットのチップからジオフェンスの半径を設定する(無効にするにはオフ)か、「マップ上でエリアを設定」をタップして、任意の四角形のエリアを描画します。
  2. エリアを設定したら、「進入時に通知」や「退出時に通知」を切り替えます。
  3. 任意で「お気に入りのみ」を有効にすると、通知をお気に入りのノードに限定できます。

ウェイポイント(およびそのジオフェンス)はメッシュ全体にブロードキャストされるため、デフォルトでは作成者だけに通知されます。 他の人がジオフェンス付きのウェイポイントを共有した場合、その詳細ビューに「通過を通知する」というオプトインが表示され、あなたも進入/退出の通知を受け取れます。

ウェイポイントを管理する

  • マップ上のウェイポイントをタップすると、その詳細と座標を表示します
  • 自分が作成したウェイポイントを編集または削除できます
  • ロックされたウェイポイントは、他のノードから変更・削除できません。元の作成者だけが変更できます
  • ロックされていないウェイポイントは、どのメッシュメンバーでも編集できます

マップレイヤー

マップのレイヤーアイコンをタップすると「マップレイヤーの管理」が開き、.kml、.kmz、または GeoJSON 形式の独自のオーバーレイをインポートできます。Meshtastic でファイルを開くか、別のアプリからアプリに共有することでインポートします。 インポートしたレイヤーは、それぞれ表示/非表示を切り替えるトグルと、削除するオプションとともに一覧表示されます。 これは Google Play 版と F-Droid 版の両方で利用できます。

サイトプランナー

サイトプランナーは、送信機の RF カバレッジを推定し、色分けされたオーバーレイとしてマップに描画します。 マップの操作から開くか、ノードの詳細ページから「カバレッジを推定」で開きます(位置が判明しているノードでのみ表示されます)。 送信機(位置、周波数、送信出力、アンテナ利得と高さ)、受信機(感度、高さ)、シミュレーションのオプション(最大範囲、高解像度の地形、カラーパレット)を設定してから、推定を実行します。 マップレイヤーと同様に、サイトプランナーも Google Play 版と F-Droid 版の両方で動作します。

位置の共有

位置の共有を有効にする

ノードは、次のいずれかに基づいて GPS 位置を共有します:

  • 固定間隔: 一定間隔で位置をブロードキャストします
  • スマート位置: 移動がしきい値を超えたときにブロードキャストします
  • 手動: 明示的に要求されたときのみ共有します

位置の動作は「設定 → 位置」で設定します。

プライバシーに関する注意

🔒 プライバシー: 位置データは、チャンネル上のすべてのノードにブロードキャストされます。 位置を共有したくない場合は、設定で GPS 位置を無効にするか、固定/ダミーの位置を使用してください。

マップソース

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • 衛星画像(利用可能な場合)
  • オフラインタイル(オフラインで使うためにマップのエリアをダウンロード)

関連トピック



diff --git a/v2.8.0/ja-rJP/user/messages-and-channels.html b/v2.8.0/ja-rJP/user/messages-and-channels.html deleted file mode 100644 index 893d1e418f..0000000000 --- a/v2.8.0/ja-rJP/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - メッセージとチャンネル | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

メッセージとチャンネル

Meshtastic は、チャンネルブロードキャストとダイレクトメッセージの 2 つの通信モードをサポートしています。

チャンネル

チャンネルは、共有された通信グループです。 同じチャンネル鍵を設定したすべてのノードが、そのチャンネルでメッセージを読み書きできます。

デフォルトチャンネル

すべての Meshtastic デバイスには、デフォルトの LongFast チャンネルが用意されています。 これは、一般的なメッシュ通信に使われる暗号化されていないチャンネルです。

チャンネルのセキュリティ

チャンネルは複数の暗号化レベルに対応しています:

アイコン セキュリティレベル 説明
🔒 PSK(256 ビット AES) 強力な事前共有鍵で完全に暗号化されます。 一致する鍵を持つノードだけがメッセージを読めます。
🔐 PSK(128 ビット AES) より短い鍵で暗号化されます。 ほとんどの用途で安全ですが、機密性の高いデータには 256 ビットが推奨されます。
🔓 デフォルト/オープン よく知られたデフォルトの鍵を使用します。 同じプリセットのあらゆる Meshtastic デバイスが、これらのメッセージを読めます。
⚠️ 非セキュア+位置情報 GPS 位置情報も一斉送信するオープンチャンネルです。 公開メッシュでは注意して使用してください。

🔒 セキュリティのヒント: プライベートな通信には、必ず固有の PSK を設定してください。 デフォルトチャンネルは、新規ユーザーがメッシュを見つけられるよう意図的にオープンになっています。ただし、機密性の高い内容には別途、暗号化されたチャンネルを作成してください。

チャンネルを追加する

  1. 「設定 → チャンネル」に移動します。
  2. 「チャンネルを追加」をタップするか、QR コードをスキャンします。
  3. チャンネル名と暗号化鍵を設定します。
  4. アクセスが必要な相手に、チャンネルの URL/QR コードを共有します。

チャンネルをタップすると、その詳細と共有オプションが表示されます。

ダイレクトメッセージ

ダイレクトメッセージ(DM)は、特定の 2 つのノード間で行われる、ポイントツーポイントの暗号化通信です。

ダイレクトメッセージを送信する

  1. 「メッセージ」タブを開きます。
  2. 連絡先リストからノードを選択するか、ノードリストでノードをタップします。
  3. メッセージを入力し、「送信」をタップします。

メッセージの状態

ステータスラベルは、自分が送信したメッセージの下にのみ表示されます(他のユーザーからの受信メッセージにはステータスラベルは表示されません):

状態 意味
送信中… キューに入っているか、すでに無線機に渡された状態で、まだどちらとも確定していません(キュー内と送信中のどちらも同じ表示になります)
受信者に配信済み ダイレクトメッセージで最も確実な確認です。受信確認が返ってきています
メッシュに配信済み チャンネルブロードキャストでは、メッセージがメッシュに届いたことを示します(ブロードキャストには受信者ごとの確認応答はありません)
中継済み、受信者による確認なし ダイレクトメッセージでは警告色で表示されます。メッセージは中継されましたが、まだ受信確認が返ってきていません
SF++ チェーン経由でルーティング中… Store & Forward Plus Plus チェーンによってルーティング/バッファリングされています
SF++ チェーンで確認済み SF++ チェーン経由で配信が確認されました
エラー 配信に失敗しました。具体的な理由はステータスをタップして確認してください(下記の「配信エラー」を参照)

配信エラー

メッセージの配信に失敗すると、エラーインジケーターが何が問題だったかを示します:

エラー 意味 対処方法
ルートなし 宛先ノードへの経路が存在しません 受信者がオフラインか、メッシュの範囲外の可能性があります。 時間をおくか、距離を縮めてください。
NAK を受信 次のホップのノードが中継を拒否しました 中継ノードが混雑している可能性があります。 しばらく待ってから再試行してください。
タイムアウト 再試行の時間内に受信確認がありませんでした 受信者がちょうど範囲外にいる可能性があります。 ホップ数上限を増やすか、より良い場所に移動してみてください。
インターフェースがありません 送信に使える無線インターフェースがありません 無線機が接続され、チャンネルが設定されているか確認してください。
最大再送回数 すべての再試行を使い切りました メッシュ経路が不安定です。 別のチャンネルを試すか、状況が改善するのを待ってください。
チャンネルがありません 宛先のチャンネルが存在しません 両方のノードが同じチャンネル設定を共有しているか確認してください。
サイズ超過 メッセージが最大ペイロードサイズを超えています メッセージを短くしてください(最大約 200 文字)。
応答なし ノードはメッセージを受信しましたが、応答しませんでした 受信者の無線機が処理中か、低電力のスリープモードの可能性があります。
デューティサイクル制限 地域ごとの電波利用時間の上限に達しました 無線機が許可された送信時間を使い切りました。 デューティサイクルの期間がリセットされるまで待ってください(EU リージョンでは通常 1 時間)。
不正な要求 不正な形式または無効なメッセージです 通常はソフトウェアの不具合を示します。 アプリを再起動してみてください。

💡 ヒント: ほとんどの配信エラーは自然に解消します。 ノードに断続的に到達できる場合、メッシュは再試行します。 「ルートなし」エラーが続く場合は、中間のルーターノードがオンラインになっているか確認してください。

メッセージの機能

クイックチャット

すばやくやり取りするための、あらかじめ設定されたメッセージです:

  • メッセージ入力欄のクイックチャットボタンから利用できます
  • 組み込みの定型文またはカスタムメッセージから選べます
  • クイックチャットのメッセージは「設定 → クイックチャット」でカスタマイズできます
  • 入力が難しい場面(手袋の着用、小さな画面、急いでいるとき)に便利です

クイックチャットのオプション

各クイックチャット項目には、短い名前(ボタンのラベル)、挿入されるメッセージ、そして即時送信トグルがあります。有効にすると、ボタンをタップした時点で、メッセージが入力欄に置かれて編集できる状態になるのではなく、すぐに送信されます:

名前・メッセージ・即時送信トグルを備えた新規クイックチャットのダイアログ

チャンネルリストには、各チャンネルが最新メッセージのプレビューとともに表示されます。

メッセージを検索する

チャット画面から、どの会話でもその全履歴を直接検索できます:

  1. 会話(チャンネルまたはダイレクトメッセージ)を開きます。
  2. 上部バーの検索アイコンをタップします。
  3. 「メッセージを検索…」欄に入力します。 検索は入力に応じて、その会話に保存されているすべてのメッセージを対象に実行されます。
  4. N/M の結果カウンターと前へ/次への矢印を使って、一致箇所間を移動できます。一致箇所は会話内でハイライト表示されます。

結果カウンターと前へ/次への矢印を備えたメッセージ検索バー

💡 ヒント: 検索は全文検索で、開いた会話の中だけを対象とします。他のチャンネルや連絡先をまたいで検索することはありません。 デバイスにすでに保存されているメッセージを対象に照合するため、完全にオフラインで動作します。

メッセージの吹き出し

メッセージはチャットの吹き出しとして表示され、送信メッセージは右側、受信メッセージは左側に並びます。 各吹き出しには、送信者・タイムスタンプ・配信状況が表示されます。 返信付きのメッセージでは、応答の上に元メッセージの引用プレビューが表示されます。

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

種別 Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

メンション

メッセージ作成中に @ を入力するとノードにメンションできます。入力に応じて、一致する連絡先がピッカーに提案されます。 受信メッセージでは、メンションはノード名を表示したハイライト付きのチップとして現れます。タップすると、そのノードの詳細ページに直接移動できます。

リアクション

絵文字でメッセージにリアクションできます:

  • メッセージを長押しすると操作メニューが開きます
  • 「リアクションを追加」をタップして絵文字を選びます
  • リアクションはメッセージの吹き出しの下に表示されます
  • 複数のユーザーが同じメッセージにリアクションできます
  • 自分のメッセージにも、他の人のメッセージにもリアクションできます

メッセージの下に表示された絵文字リアクションのバッジ

💡 ヒント: リアクションは軽量で、通常のテキストメッセージに比べてメッシュの帯域をほとんど消費しません。

メッセージの操作

任意のメッセージを長押しすると、次の操作を利用できます:

  • コピー: メッセージのテキストをクリップボードにコピーします
  • 返信: そのメッセージを引用して返信します
  • リアクション: 絵文字のリアクションを追加します
  • 翻訳: 受信メッセージをデバイスの言語に翻訳し、原文と翻訳を切り替えます(Google Play 版のみ。オンデバイス翻訳を使用します)
  • 削除: 自分が送信したメッセージを削除します(端末内での削除)

メッセージの優先度

メッセージは優先度に基づいてキューに入れられ、送信されます:

  1. 緊急/警報メッセージ(最高)
  2. ダイレクトメッセージ
  3. チャンネルブロードキャスト(最低)

メッセージの制限

  • 最大長: 200 バイト(ASCII テキストで約 200 文字)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • レート制限: メッシュは電波利用時間の公平性を確保するため、大量のメッセージは制限されることがあります
  • 配信: 受信確認がない場合、メッセージは自動的に再送されます

ベストプラクティス

  • グループでの連携にはチャンネルを使います
  • 個人間のプライベートな通信にはダイレクトメッセージを使います
  • メッセージは短くしてください。メッシュの帯域は限られています
  • 機密性の高い通信には暗号化を設定します

関連トピック

  • ノード:ノードをタップするとダイレクトメッセージを開始できます
  • 設定:無線機とユーザー:チャンネルの暗号化とプリセットを設定します
  • MQTT:チャンネルのメッセージをインターネットに橋渡しします
  • チャンネル設定:meshtastic.org にある詳細なチャンネル設定


diff --git a/v2.8.0/ja-rJP/user/mqtt.html b/v2.8.0/ja-rJP/user/mqtt.html deleted file mode 100644 index 85ef209272..0000000000 --- a/v2.8.0/ja-rJP/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

MQTT

MQTT は、Meshtastic のメッシュネットワークをインターネットに橋渡しし、無線の到達範囲を超えた長距離通信を可能にします。

概要

MQTT モジュールは、ノードを MQTT サーバーに接続し、次のことを可能にします:

  • インターネット経由で、物理的に異なるメッシュ上のノードにメッセージを届ける
  • ホームオートメーションや監視システムとの連携
  • ノードの位置を公開の Meshtastic マップに公開する
  • ログ記録や通知のためのカスタムデータパイプライン

仕組み

[自分のノード] → 無線 → [WiFi 付きゲートウェイノード] → MQTT サーバー → [リモートゲートウェイ] → 無線 → [リモートノード]
-

インターネットに接続されたゲートウェイノード(WiFi または Ethernet)が、メッシュのメッセージを MQTT トピックに公開します。 同じトピックを購読しているリモートのゲートウェイが、それらのメッセージを自分のローカルメッシュに取り込みます。

設定

MQTT を有効にする

  1. 「設定 → モジュール設定 → MQTT」に移動します。
  2. MQTT モジュールを有効にします。
  3. サーバーへの接続を設定します:

MQTT のトグルスイッチ

設定項目 説明 デフォルト
サーバーアドレス MQTT サーバーのホスト名 mqtt.meshtastic.org
ユーザー名 サーバーの認証 meshdev
パスワード サーバーの認証 large4cats
ルートトピック メッセージのベーストピック msh
暗号化 MQTT ペイロードを暗号化 有効
JSON 出力 ⚠️ 非推奨:JSON パケットのサポートはファームウェアから削除されました。このフィールドは無視されます 無効
TLS サーバーへのセキュアな接続 無効
マップ報告 公開マップに位置を報告 無効

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

デフォルトの Meshtastic サーバー

コミュニティが mqtt.meshtastic.org で公開サーバーを運用しています。 これは一般的な利用やテストを目的としています。

ℹ️ 注意: mqtt.meshtastic.org への接続は、TLS のトグルがオフでも常に TLS(ポート 8883)を使用します。 それ以外のサーバーでは、TLS は有効にした場合にのみ使用されます(TLS ありはポート 8883、なしは 1883)。

🔒 プライバシー: 公開サーバー上のメッセージは、購読している誰もが読めます。 プライベートな通信には、必ずチャンネルの暗号化を使用してください。

プライベートサーバー

プライバシーと制御を高めるために、独自の MQTT サーバーを運用できます:

  • Mosquitto(軽量、オープンソース)
  • HiveMQ
  • EMQX

適切な認証情報を設定して、ノードがプライベートサーバーに接続するよう構成します。

マップ報告

マップ報告を有効にすると、ノードは自分の位置を Meshtastic のコミュニティマップに公開します:

  • meshmap.net や、同様のコミュニティマップサービスで表示されます
  • 共有されるのは位置とノード情報のみです
  • 位置を公開したくない場合は、これを無効にしてください

アップリンクとダウンリンク

方向 説明
アップリンク メッシュ → MQTT サーバーへのメッセージ
ダウンリンク MQTT サーバー → メッシュへのメッセージ

メッセージの流れと電波利用時間を制御するため、どの方向を有効にするかをチャンネルごとに設定します。

メッセージ形式

MQTT は protobuf のメッセージ形式を使用します:

形式 説明 用途
Protobuf バイナリの Meshtastic protobuf エンコード ノード間のメッシュ橋渡し

⚠️ 注意: JSON 出力のサポートはファームウェアから削除されました。 json_enabled の設定は、以前との互換性のためにアプリ上には表示されますが、現在のファームウェアバージョンには影響しません。

暗号化とプライバシー

階層化された暗号化モデルを理解する:

  1. チャンネルの暗号化は、MQTT の前にメッシュ上で行われます。 チャンネルに PSK が設定されている場合、MQTT ペイロードはすでに暗号化されています。サーバーや購読者には暗号文しか見えません。
  2. MQTT の暗号化(モジュールの設定)は、サーバーへの転送のために追加の暗号化レイヤーを加えます。 これはメタデータやルーティング情報を保護します。
  3. TLS はサーバーへの TCP 接続自体を暗号化し、ネットワークレベルの盗聴を防ぎます。

🔒 重要: デフォルトの公開チャンネルは、よく知られた鍵を使用しています。 デフォルトチャンネルで MQTT 経由で送信されるメッセージは、実質的に暗号化されていません。誰でも解読できます。 プライベートな通信には、必ずカスタムの PSK を使用してください。

ベストプラクティス

  • MQTT に橋渡しするチャンネルでは、チャンネルレベルの暗号化(PSK)を使用します
  • インターネットに接続できないノードでは MQTT を有効にしないでください(バッファリングしてメモリを浪費します)
  • 機密性の高い運用にはプライベートサーバーを使用します
  • 混雑した MQTT トピックからメッセージをダウンリンクする際は、電波利用時間に注意してください。ダウンリンクされたメッセージはすべて、ローカルメッシュの無線の電波利用時間を消費します
  • メッセージを送り返さず、リモートでメッシュを監視するだけでよい場合は、アップリンクのみを有効にすることを検討してください

トラブルシューティング

MQTT が接続できない

  • WiFi を確認: ゲートウェイノードには、有効なインターネット接続(WiFi または Ethernet)が必要です。 MQTT は LoRa の無線リンク自体では動作しません。
  • 認証情報を確認: ユーザー名やパスワードが正しくないと、ほとんどのサーバーでは何も表示されずに失敗します。 末尾のスペースがないか、よく確認してください。
  • ファイアウォール: ポート 1883(MQTT)または 8883(MQTT+TLS)が開いている必要があります。 一部のネットワークは、標準外のポートをブロックします。
  • DNS 解決: カスタムのサーバーホスト名を使う場合は、ノードがそれを解決できるか確認してください。 サーバーの IP アドレスを直接試してみてください。

メッセージが橋渡しされない

  • アップリンク/ダウンリンクの設定を確認: アップリンクのみが有効な場合、メッセージはメッシュから MQTT へ流れますが、戻ってきません。 受信側のゲートウェイでダウンリンクを有効にしてください。
  • チャンネルの不一致: 両方のゲートウェイが、同じ PSK を持つ同じチャンネルを共有している必要があります。 不一致の場合、メッセージは異なる鍵で暗号化され、判読できないデータとして表示されます。
  • トピックの不一致: 両方のゲートウェイが同じルートトピックを使用しているか確認してください。 デフォルトの msh は公開サーバーで機能します。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/node-metrics.html b/v2.8.0/ja-rJP/user/node-metrics.html deleted file mode 100644 index 94ff65b4de..0000000000 --- a/v2.8.0/ja-rJP/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - ノードメトリクス | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

ノードメトリクス

ノードの詳細画面では、メッシュ上の各ノードについて、包括的なテレメトリとメトリクスを確認できます。

デバイスメトリクス

各ノードが報告する基本的な動作情報です:

メトリクス 説明
バッテリー残量 現在のバッテリー残量(%)
電圧 バッテリー電圧の測定値
チャンネル全体の利用率 消費した電波利用時間の割合
電波利用時間 このノードが使用した送信時間
連続稼働時間 前回の再起動からの経過時間

デバイスメトリクスは、バッテリー残量・電圧・チャンネル利用率・電波利用時間・連続稼働時間の推移を示すトレンドのスパークライン付きの個別カードとして表示されます。

💡 ヒント: メトリクスカードをタップすると、履歴データ点を含む詳細なグラフに展開できます。 時間軸はピンチ操作で拡大縮小できます。

環境メトリクス

環境センサーのデータです(対応ハードウェアが必要):

メトリクス センサーの例
温度 BME280, BME680, SHT31
湿度 BME280, BME680, SHT31
大気圧 BME280, BMP280
ガス抵抗 BME680
IAQ(大気質) BME680

環境メトリクスは、傾向を分析しやすいよう時系列でグラフ化されます。温度・湿度・気圧はそれぞれ独立した折れ線グラフになり、測定単位が Y 軸に表示されます。

BME680 の **IAQ(室内空気質)**指数は、ガス抵抗から算出される 0〜500+ の単一の値で、非常に良い から 危険なほど汚染 までの色分けされたスケールで表示されます:

「非常に良い」から「危険なほど汚染」までの IAQ 指数スケール

💡 ヒント: 環境メトリクスには、リモートノードに接続されたセンサーが必要です。 すべてのノードが環境データを報告するわけではありません。 対応センサーの一覧については、テレメトリとセンサー を参照してください。

大気質メトリクス

大気質は、粒子状物質センサーや CO₂ センサーを搭載したノード向けの専用メトリクスビューです。 これは、環境メトリクスに記載されている BME680 の IAQ の測定値とは別のものです。IAQ はガス抵抗から算出される単一の指数であるのに対し、大気質ビューはその基となる粒子状物質と CO₂ の測定値をグラフ化します。

メトリクス 単位 説明
PM1.0 µg/m³ 1.0 ミクロンまでの粒子状物質
PM2.5 µg/m³ 2.5 ミクロンまでの粒子状物質
PM10 µg/m³ 10 ミクロンまでの粒子状物質
AQI EPA 指数 最近の PM2.5 の履歴から算出される EPA の NowCast AQI で、色分けされた深刻度ラベルが付きます。 十分な測定値が蓄積されると、PM2.5 の横に表示されます。
CO₂ ppm 二酸化炭素の濃度
CO₂ 温度 °C / °F CO₂ センサー自体が報告する温度(例:SCD4x)
CO₂ 湿度 % CO₂ センサーが報告する相対湿度

CO₂ の測定値は、大気質をひと目で把握できるよう、深刻度に応じて色分けされます:

区分 CO₂ の範囲(ppm) 色
良 < 1000 緑
空気がこもる < 2000 黄色
不良 < 5000 オレンジ
危険 < 30000 赤
退避 ≥ 30000 濃い赤

CO₂ の深刻度が色分けされた大気質の測定値

大気質のログ/メトリクスボタンは、ノードが大気質のテレメトリを報告したときにのみ、ノードの詳細画面に表示されます。 大気質ビューでは、次のことができます:

  • グラフの期間を選択します。
  • メトリクスチップで絞り込みます。データがあるメトリクスのみが表示されます。
  • 最新の大気質テレメトリを更新/要求します。
  • 表計算ソフトで分析できるよう、CSV にエクスポートします。

💡 ヒント: 大気質メトリクスには、リモートノードに対応する大気質センサーが必要です。 ノードに粒子状物質センサーや CO₂ センサーがない場合、大気質ボタンは表示されません。 対応ハードウェアについては、テレメトリとセンサー を参照してください。

信号メトリクス

無線信号の品質に関する情報です:

メトリクス 説明
SN比 信号対ノイズ比(高いほど良い)
RSSI 受信信号強度インジケーター(0 に近いほど良い)
ノイズフロア ローカルの背景 RF ノイズ(dBm、値が小さい(負が大きい)ほど静か)
ホップ数 直前のメッセージのメッシュホップ数

信号品質の目安

信号品質は、固定のしきい値ではなく、現在の LoRa モデムプリセットの復調限界に対する SNR で評価されます。同じ SNR でもプリセットによって意味が異なります(例:−15 dB は LongSlow では問題ありませんが、ShortFast では使い物になりません)。 RSSI は表示されますが、評価には含まれません。 limit をプリセットの SNR 限界とすると:

品質 基準
良 SNR がプリセットの限界を上回る
普通 限界より 5.5 dB 未満低い
不良 限界より 5.5 dB〜7.5 dB 低い
なし 限界より 7.5 dB を超えて低い

詳しい説明は、信号メーターを理解する を参照してください。

接続中の無線機のローカル統計も、利用可能な場合は信号品質に表示されます。 これらのログには、ノイズフロア、トラフィックカウンター、中継カウンター、オンラインノード数、無線機の連続稼働時間が含まれます。 ノイズフロアのグラフでは、混雑した RF 環境を見分けやすいよう、-85 dBm に破線の基準線が引かれます。 「要求」で接続中の無線機に最新のローカル統計テレメトリレポートを要求し、「消去」でそのノードのローカル統計ログを削除し、「保存」で表示中のローカル統計の履歴を CSV としてエクスポートします。

電力メトリクス

電力管理のテレメトリです(INA センサーまたは対応ハードウェアが必要):

メトリクス 説明
バス電圧 供給電圧
電流 消費電流(ミリアンペア)
電力 計算されたワット数

ルート追跡

ルート追跡は、メッセージがメッシュ内を通る経路を表示します:

  1. ノードの詳細画面で、「ルート追跡」をタップします。
  2. アプリが対象のノードにルート追跡の要求を送信します。
  3. 結果には、各ホップが SNR/RSSI の値とともに表示されます。

ルート追跡の結果の見方

自分 → ノード A (SNR: 8.5) → ノード B (SNR: 5.2) → ターゲット
-

各ホップは、メッセージを転送した中継ノードを表します。

位置ログ

位置情報を共有しているノードの、過去の位置データです:

  • GPS 座標
  • 標高
  • 速度(移動中の場合)
  • 各位置報告のタイムスタンプ

隣接ノード情報

あるノードが直接受信できるノードを表示します。メッシュのトポロジーを把握するのに役立ちます。

メトリクスを表示する

  1. 「ノード」に移動します。
  2. 確認したいノードをタップします。
  3. 詳細タブからメトリクスのカテゴリを選択します。

ノードの詳細:ローカルデバイス

位置タブには、GPS を共有しているノードの位置データが表示されます:

位置のインラインコンテンツ

⚠️ 注意: メトリクスは、リモートノードが報告した場合にのみ利用できます。 メトリクスは、各ノードのテレメトリ設定で構成された間隔で更新されます。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/nodes.html b/v2.8.0/ja-rJP/user/nodes.html deleted file mode 100644 index ed3932a116..0000000000 --- a/v2.8.0/ja-rJP/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - ノード | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

ノード

ノード画面には、メッシュネットワーク上で見えているすべてのデバイスが表示されます。

ノードリスト

ノードリストには、無線機が受信したすべてのノードが、次の情報とともに表示されます:

  • ノード名: ユーザーが設定した正式名称
  • 短縮名: 4 文字の識別子
  • 信号品質: 最後に受信したときの信号強度
  • 最後の通信: 最後に通信してからの経過時間
  • 距離: 推定距離(位置情報が共有されている場合)
  • バッテリー: リモートノードのバッテリー残量(テレメトリが有効な場合)

ノードのステータス表示

バッジ 意味
🟢 オンライン 過去 2 時間以内に受信したノード
⚪ オフライン 2 時間を超えて受信していないノード
⭐ お気に入り ユーザーがお気に入りに設定したノード

ノードは、過去 2 時間以内に受信していればオンライン、そうでなければオフラインとみなされます。「離席中」のような中間の段階はありません。

ノードの役割

ノードには、メッシュ上での動作に影響するさまざまな役割を設定できます:

役割 説明
クライアント 標準的なエンドユーザーのデバイス
クライアント・ベース お気に入りノードの通信をルーター・レイトの優先度で扱い、それ以外の通信はクライアントとして扱います
クライアント・ミュート 受信しますが、再送信はしません
クライアント・非表示 クライアント・ミュートと同様で、さらにノードリストから隠れます
ルーター メッセージの転送を優先し、中継のために起動し続けます
ルーター・レイト 1 回だけ再送信するインフラノードですが、他のすべてのモードの後にのみ行います(補助的なカバレッジを提供します)
ルーター・クライアント ⚠️ 非推奨(ファームウェア 2.3.15 で削除)。選択できなくなりました。代わりにルーターまたはクライアントを使用してください
リピーター ⚠️ 非推奨(ファームウェア 2.7.11 で削除)。選択できなくなりました。代わりにルーターを使用してください
トラッカー 一定間隔での位置報告に最適化されています
センサー テレメトリ報告に最適化されています
TAK TAK システムと相互運用します(CoT を送受信)
TAK Tracker TAK の位置報告のみ
ロスト&ファウンド 回収のために位置を継続的に発信します

役割を選ぶ

ほとんどのユーザーは、デフォルトのクライアント役割のままにしてください。 次のような場合は、別の役割を検討してください:

  • ルーター: 電源が安定した、固定された高所(屋上、丘の上など)にノードを設置している場合。 ルーターは他のノードのメッセージを中継するために常に起動し続け、メッシュのカバレッジ拡大に不可欠です。 バッテリー駆動のハンドヘルドデバイスではルーターを使用しないでください。
  • ルーター・レイト: パケットを常に 1 回だけ再送信するインフラノードですが、他のすべてのルーティングモードの番が終わった後にのみ行います。 主要なルーターと競合することなく、ローカルのクラスターに補助的なカバレッジを提供します。
  • クライアント・ベース: お気に入りノードとの間の通信をルーター・レイトの優先度で扱い(それらのメッセージが追加の中継カバレッジを得られるようにします)、それ以外はすべて通常のクライアントとして処理します。
  • クライアント・ミュート: メッシュの通信を受信したいが、中継には貢献したくない場合。 監視専用のデバイスや、混雑した地域での輻輳軽減に便利です。
  • トラッカー: GPS 位置の発信だけを目的とする無人デバイス(車両、ペット、資産など)。 発信の合間はスリープしてバッテリーを節約します。
  • センサー: 環境テレメトリ(気温、湿度、大気質)を報告する無人デバイス。 電力プロファイルはトラッカーと同様です。
  • TAK/TAK Tracker: ATAK/WinTAK システムと相互運用する場合にのみ必要です。 詳しくは TAK 連携 を参照してください。

💡 ヒント: メッシュは、ほとんどのノードがクライアントまたはルーターのときに最も良く機能します。 ミュートノードが多すぎるとメッシュの耐障害性が低下し、混雑した地域にルーターが多すぎると輻輳を招くことがあります。 目安としては、地域内のクライアント 5〜10 台につきルーター 1 台です。

暗号化の表示

ノードは、名前の横に暗号化ステータスのアイコンを表示します:

アイコン 意味
🔒 ロック 通信は PKI(公開鍵基盤)を使用します。本人性が検証された、エンドツーエンドの暗号化です
🔓 ロック解除 通信は共有チャンネルの PSK を使用します。暗号化されていますが、本人性は個別には検証されていません
⚠️ 不一致 公開鍵の不一致。前回確認時からノードの鍵が変わっています(信頼する前に調べてください)

💡 ヒント: PKI 暗号化(ファームウェア 2.5 以降)は、各ノードが固有の鍵ペアを持つため、チャンネル PSK より強力なセキュリティを提供します。 鍵の不一致の警告が表示された場合、そのノードはリセットされたか、侵害された可能性があります。

クイック操作

ノードリストから、次のことができます:

  • ノードをタップすると詳細ページを表示します
  • 長押しでクイック操作を表示します:
    • お気に入りに追加/解除
    • 通知のミュート/解除
    • ダイレクトメッセージを送信
    • 経路をトレース
    • 無視/無視の解除
    • ノードを削除

絞り込みと並べ替え

テキスト検索

検索欄に入力すると、名前または短縮名でノードを絞り込めます。 絞り込みは、入力に応じてリアルタイムで更新されます。

絞り込みトグル

絞り込み 説明
オンラインのみ 過去 2 時間以内に受信したノードのみを表示します
直接のみ 直接(中継されていない)接続のノードのみを表示します
不明なノードを含む まだユーザー情報を送信していないノードを表示します
インフラを除外 Hide infrastructure-role nodes (Router, Router Late, Client Base)
MQTT を除外 MQTT のインターネットブリッジ経由でのみ受信したノードを非表示にします
無視したノードを表示 以前に非表示またはミュートにしたノードを表示します

並べ替えオプション

並べ替え 説明
最後の通信(デフォルト) 最近受信したノードを先頭に表示します
アルファベット順 ノードの正式名称で並べ替えます
距離 近いノードを先頭に表示します(位置情報の共有が必要)
ホップ数 中継ホップ数が少ないノードを先頭に表示します
チャンネル チャンネルインデックスごとにグループ化します
MQTT 経由 MQTT 経由と無線受信でグループ化します
お気に入り お気に入りのノードを先頭に表示します

ホップごとのノード数

ノードリストのアプリバーにあるホップヒストグラムのアイコンをタップすると、各ホップ距離にいくつのノードがあるかを示す棒グラフが開きます(0 = 直接、1 = 中継 1 回、以下同様)。 グラフを最後の通信の期間(すべての期間、1 時間、8 時間、24 時間)で絞り込むと、現在のメッシュの様子と、より長い期間での様子を比較できます。 ローカルメッシュがどれだけ混雑し、どれだけ広がっているかを手早く把握できます。

ノードの詳細

ノードをタップすると、詳しい情報を含む詳細ビューが開きます。 メトリクスとテレメトリの詳細については、ノードメトリクス を参照してください。

ノードの詳細ビュー

詳細画面には、デバイス情報、位置、操作ボタンが含まれます:

ノードの詳細セクション

インラインのステータス表示で、主要なメトリクスをひと目で確認できます:

指標 スクリーンショット
信号品質 信号
バッテリー残量 バッテリー
ホップ数 ホップ
最後の通信 最後の通信
距離 距離

デバイスのリンク(「購入はこちら」)

ノードのハードウェアが認識されると、詳細ビューに折りたたみ式の**「購入はこちら」**セクションが表示され、そのデバイスを購入したり詳しく知ったりできる場所(ベンダーの製品ページ、製品バリエーション、AliExpress・Amazon・対応小売店などの地域のマーケットプレイスの掲載)が、あなたの国に合わせて絞り込まれて表示されます。 各リンクは msh.to のリダイレクトサービスを通じて開きます。 一致するリンクがないデバイスでは、このセクションは表示されません。

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.

関連トピック



diff --git a/v2.8.0/ja-rJP/user/onboarding.html b/v2.8.0/ja-rJP/user/onboarding.html deleted file mode 100644 index 565fe329a3..0000000000 --- a/v2.8.0/ja-rJP/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - はじめに | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

はじめに

Meshtastic へようこそ! このガイドでは、Meshtastic Android アプリの初期設定を順を追って説明します。

初回起動

アプリを初めて開くと、必要な権限と設定を構成するための導入フローが案内されます。 各ステップは順番に完了することも、スキップして後で Android の設定で権限を構成することもできます。

ようこそ画面

ようこそ画面では、Meshtastic とその主な機能を紹介します:

  • オフグリッドのメッシュ通信
  • 携帯電話やインターネットは不要
  • エンドツーエンドで暗号化されたメッセージング

開始するをタップして、セットアップフローを進めます。

ようこそ画面

権限

アプリはセットアップ中にいくつかの権限を要求します。 それぞれに特定の目的があり、一部は主要な機能に必要です。

Bluetooth の権限

Bluetooth は、スマートフォンと Meshtastic 無線機の主な接続方法です:

  • Bluetooth スキャン:近くの Meshtastic 無線機を検出します
  • Bluetooth 接続:ペアリング済みの無線機との接続を確立して維持します

プロンプトが表示されたら、両方の権限を許可してください。 Bluetooth がない場合は、代わりに USB または TCP 接続を使用する必要があります。

位置情報の権限

⚠️ なぜ Bluetooth に位置情報が必要なのですか? Android では、近くの Bluetooth Low Energy デバイスを検出するために位置情報の権限が必要です。 これは Android システムの要件であり、Meshtastic 固有の仕様ではありません。

Meshtastic は、次の目的でも位置情報を使用します:

  • メッシュマップ上に自分の位置を表示する
  • 他のノードまでの距離を計算する
  • 他のメッシュメンバーと GPS 座標を共有する(有効な場合)

お好みに応じて、**「アプリの使用中のみ」または「常に許可」**を選択してください:

  • アプリの使用中のみ:アプリが開いているときだけ位置情報を更新します
  • 常に許可:常時メッシュに存在するために、バックグラウンドでの位置情報更新を有効にします

拒否すると、Bluetooth スキャンが機能せず、ノードは位置情報を報告しません。

通知の権限

通知は、次のことをお知らせします:

  • チャンネルおよびダイレクトメッセージの受信
  • メッシュに参加する新しいノード
  • リモートノードのバッテリー低下

💡 ヒント: 通知の設定は、後で Android のシステム設定で細かく調整できます。アプリはカテゴリごとに個別の通知チャンネルを作成する(さらに、バックグラウンドサービスなどの内部用のものもいくつか作成する)ため、個別に有効化したり消音したりできます。

重要なアラートの権限

対応デバイスでは、アプリが重要なアラートの権限を要求することがあります:

  • これらは、サイレントモードを突破できる高優先度の通知です
  • 緊急のメッシュアラートや至急のメッセージに役立ちます
  • 突破通知が不要な場合は、このステップをスキップできます
  • 後で Android の通知設定で構成または取り消しができます

セットアップ後

権限を許可すると、アプリはメイン画面に移行します。 最初に行うべきことは、Meshtastic 無線機への接続です。詳しい手順は接続を参照してください。

💡 ヒント: セットアップ中に権限をスキップした場合は、後で**「Android 設定 → アプリ → Meshtastic → 権限」**から許可できます。 不足している権限が、使おうとする機能を妨げる場合は、アプリが再度確認を求めます。

次のステップ

無線機に接続したら、次を確認してみましょう:

Meshtastic は初めてですか? meshtastic.org の入門ガイドでは、ハードウェアの選択、無線機の初期設定、最初のメッシュのセットアップについて説明しています。



diff --git a/v2.8.0/ja-rJP/user/settings-module-admin.html b/v2.8.0/ja-rJP/user/settings-module-admin.html deleted file mode 100644 index 7aa7937865..0000000000 --- a/v2.8.0/ja-rJP/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - 設定:モジュールと管理 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

設定:モジュールと管理

オプションの機能モジュールを設定し、デバイスの管理を行います。 モジュールは、専用の機能で Meshtastic を拡張します。それぞれ個別に有効・無効を切り替えられます。

💡 ヒント: 実際に使うモジュールだけを有効にすれば十分です。 使わないモジュールを無効にすると、電波利用時間が減り、バッテリーを節約でき、設定もシンプルになります。

モジュールの設定は、トグルスイッチ、ドロップダウン、テキストフィールド、スライダーを備えたカード形式のレイアウトを使用します:

トグルスイッチ

ドロップダウンセレクター

テキストフィールド

設定のカードレイアウト

モジュールの設定

MQTT モジュール

インターネット接続のために、メッシュのメッセージを MQTT サーバーとの間で橋渡しします。 これにより、無線の到達範囲を超えてメッシュを拡張したり、ホームオートメーションシステムと連携したりできます。

設定項目 説明
有効 MQTT ブリッジを切り替え
サーバー MQTT サーバーのアドレス
ユーザー名 認証用のユーザー名
パスワード 認証用のパスワード
暗号化 MQTT ペイロードを暗号化
JSON 出力 ⚠️ 非推奨:JSON のサポートはファームウェアから削除されました。このフィールドは無視されます
TLS セキュアな接続を使用
ルートトピック MQTT のベーストピックパス
マップ報告 公開マップ用に位置を公開

暗号化、プライバシー、サーバーの設定を含む詳しい使い方は、MQTT を参照してください。

シリアルモジュール

外部デバイスとの連携(GPS モジュール、センサー、カスタムハードウェア)のために、シリアルポート通信を有効にします。 有効にすると、ノードのシリアルポートで protobuf またはテキストデータを送受信でき、外部のマイコンやコンピューターがメッシュとやり取りできるようになります。

設定項目 説明
有効 シリアル通信を有効化
エコー 受信したシリアルデータをそのまま返す
モード テキスト、Protobuf、または NMEA 出力
RX/TX ピン シリアル接続用の GPIO ピン
ボーレート シリアル通信の速度

外部通知モジュール

無線機ハードウェアのブザー、LED、振動によるアラートを制御します。 メッセージ到着時に物理的に知らせる必要があるデバイスに便利です。特に無人設置や屋外設置で役立ちます。

設定項目 説明
有効 通知を有効化
メッセージ通知 メッセージ受信時に通知
メッセージのブザー通知 メッセージにブザーを使用
メッセージの振動通知 メッセージに振動を使用
ベル通知 ベル文字の受信時に通知
出力(GPIO) 通知出力用のピン
アクティブ アクティブハイまたはアクティブロー
継続時間(ミリ秒) 通知の長さ
I2S をブザーとして使用 I2S 音声出力を使用

Store & Forward モジュール

一時的にオフラインだったノードのためにメッセージをバッファリングし、それらのノードが再接続したときに再送します。 ノードが頻繁に圏内・圏外を行き来するメッシュに不可欠です。短時間の切断中にメッセージが失われないようにします。

設定項目 説明
有効 ストア&フォワードを有効化
ハートビート このノードのストア&フォワード機能を定期的に告知する
レコード数 保存するメッセージの最大数
履歴の返送(最大) 再送するメッセージの最大数
履歴の返送(期間) 再送する時間の範囲
サーバー メッシュのストア&フォワードサーバーとして動作する(十分なメモリが必要、例:PSRAM 搭載の ESP32)

💡 ヒント: ストア&フォワードは、十分なメモリを持つノード(PSRAM 搭載の ESP32)で最も良く機能します。 ルーターノードは通常は常時起動しているため、理想的な候補です。

レンジテストモジュール

ノード間のリンク品質を評価するための、自動レンジテストツールです。 有効にすると、ノードはカウンターを増やしながらテストメッセージを定期的に送信します。 受信側のノードがこれらのメッセージを記録するため、歩いたり車で移動したりして、後からどの距離でメッセージが届かなくなったかを分析できます。

設定項目 説明
有効 レンジテストを有効化
送信間隔(秒) テスト送信の間隔
CSV を保存 受信したテストデータを SD カードに記録

テレメトリモジュール

ノードがメッシュと共有するテレメトリデータを制御します。 テレメトリには、デバイスの状態(バッテリー、連続稼働時間)と環境センサーのデータ(温度、湿度、気圧)が含まれます。

設定項目 説明
デバイスメトリクスの間隔 デバイスメトリクスを報告する頻度
環境メトリクスの間隔 環境センサーを報告する頻度
大気質を有効化 粒子状物質センサーのデータを報告
電力メトリクスを有効化 電力使用量を報告

対応センサーと設定の推奨事項については、テレメトリとセンサー を参照してください。

定型メッセージモジュール

デバイスの物理ボタンからアクセスできる、あらかじめ設定されたメッセージです(ロータリーエンコーダー、キーパッド、または同様の入力ハードウェアを備えた無線機向け)。 スマートフォンを接続していなくても送信できる、クイック送信メッセージのリストを定義します。フィールドでの使用に最適です。

設定項目 説明
有効 ⚠️ 非推奨:現在のファームウェアはこのトグルを無視することがあります
メッセージ 改行で区切ったメッセージのリスト
ベルを送信 送信時にベル音を鳴らす
ロータリーエンコーダー ロータリーエンコーダー入力を有効化
上/下/押下ピン 入力用の GPIO ピンの割り当て

オーディオモジュール

メッシュ上での低帯域幅の音声通信のための、Codec2 音声サポートです。 これは、Codec2 コーデックを使って音声を非常に小さなデータパケットにエンコードする、実験的な機能です。

設定項目 説明
有効 オーディオモジュールを有効化
Codec2 レート 音質と帯域幅のトレードオフ
I2S ワードセレクト I2S WS 用の GPIO ピン
I2S データ入力 I2S DIN 用の GPIO ピン
I2S データ出力 I2S DOUT 用の GPIO ピン

⚠️ 注意: オーディオには特定のハードウェア(I2S マイクとスピーカー)が必要です。 音質は非常に低帯域です。「聞き取れる無線の声」程度で、電話並みの品質ではないと考えてください。

リモートハードウェアモジュール

メッシュネットワーク経由での GPIO 制御です。 リモートのノードが、別のノードの GPIO ピンを読み書きできるようにします。リレーの作動、スイッチの読み取り、離れた場所からの外部ハードウェア制御に便利です。

設定項目 説明
有効 リモート GPIO アクセスを有効化
未定義ピンを許可 任意の GPIO ピンへのアクセスを許可(セキュリティリスク)
利用可能なピン このノードがリモートの読み書き用に公開する GPIO ピン(最大 4 個)

⚠️ 警告: 「未定義ピンを許可」を有効にすると、リモートのノードがすべての GPIO ピンにアクセスでき、無線機自体のハードウェアに干渉するおそれがあります。 GPIO 専用のノードでのみ有効にしてください。

隣接ノード情報モジュール

直接受信した隣接ノードの情報をブロードキャストし、メッシュのトポロジーマッピングを可能にします。 有効にした各ノードは、受信できる他のノードとその信号品質のリストを定期的に共有します。

設定項目 説明
有効 隣接ノードのブロードキャストを有効化
更新間隔(秒) 隣接ノードのリストをブロードキャストする頻度
LoRa で送信 MQTT/スマートフォンだけでなく、LoRa 経由でも隣接ノード情報をブロードキャストします。 デフォルトの鍵と名前を使用しているチャンネルでは利用できません

隣接ノードのデータをメッシュのトポロジー探索に使う方法については、探索 を参照してください。

アンビエントライティングモジュール

対応ハードウェア上の、オンボードの NeoPixel やその他のアドレサブル RGB LED を制御します。 視覚的なステータス表示、通知ライト、装飾的な演出に使用できます。

設定項目 説明
LED の状態 LED のオン/オフを切り替え
電流 LED の電流制限(0〜31)
赤/緑/青 各色チャンネルの値(0〜255)

検知センサーモジュール

ノードを、動きやドアを検知するセンサーアラートシステムに変えます。 GPIO ピンが状態の変化(動きの検知、ドアの開放)を検出すると、ノードはメッシュ経由でアラートメッセージをブロードキャストします。

設定項目 説明
有効 検知センサーを有効化
監視ピン センサーに接続された GPIO ピン
検知トリガーの種類 ピンの状態を検知イベントにどう対応させるか(例:アクティブハイ/ロー、エッジトリガー)
入力プルアップモードを使用 ピンの内蔵プルアップ抵抗を有効にする
最小ブロードキャスト間隔(秒) アラートのブロードキャスト間の最小時間
状態ブロードキャスト(秒) 定期的な状態ブロードキャストの間隔
ベルを送信 アラートにベル文字を含める
分かりやすい名前 このセンサーのカスタム名

Paxcounter モジュール

WiFi と BLE のプローブ要求を使った人数カウンターです。 スマートフォンやノートパソコンがネットワークを探すときに発するプローブ要求を受動的に受信して、近くのデバイスを数えます。 ESP32 デバイスでのみ利用できます。

設定項目 説明
有効 人数カウントを有効化
更新間隔(秒) カウントを報告する頻度

💡 ヒント: Paxcounter は、登山口やイベント会場などの人出を推定するのに便利です。 カウントはおおよその値です。1 人が複数のデバイスを持っていることがあります。

TAK モジュール

ATAK および WinTAK と相互運用するための、Team Awareness Kit 連携です。 詳しい設定と使い方は、TAK 連携 を参照してください。

管理

リモート管理

管理者鍵を共有しているノードをリモートで設定します:

  1. ノードリストで対象のノードを選択します。
  2. そのノードの「設定」に移動します。
  3. 設定を変更します。
  4. 「保存」をタップします。変更がメッシュ経由で送信されます。

⚠️ 必要条件: 自分のノードと対象のノードの両方に管理者鍵が設定されていること。

ノードデータベースの整理

設定可能な期間内に受信していない古いノードを、ローカルデータベースから削除します。

工場出荷時リセット

すべての設定を工場出荷時のデフォルトにリセットします。 この操作は取り消せません。

再起動

接続中または管理中のノードをリモートで再起動します。

デバッグ

診断出力の表示・絞り込み・エクスポートを行う「パケット」タブと「アプリログ」タブを開きます。 詳しい手順は、デバッグログ を参照してください。

リモート管理のトラブルシューティング

  • 「対象ノードから応答がありません」:対象が圏外、オフライン、または管理者鍵が一致していない可能性があります。 両方のノードで管理者鍵が一致しているか確認してください。
  • 変更が適用されない:一部の設定は、反映に再起動が必要です。 保存後に「再起動」を実行してみてください。
  • リモートの設定が表示されない:自分のノードに、対象ノードの管理者鍵があることを確認してください。 管理チャンネルは、管理者鍵を設定すると自動的に構成されます。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/settings-radio-user.html b/v2.8.0/ja-rJP/user/settings-radio-user.html deleted file mode 100644 index f87d187eb4..0000000000 --- a/v2.8.0/ja-rJP/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - 設定:無線機とユーザー | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

設定:無線機とユーザー

無線機のハードウェアと、ユーザーの識別情報のパラメーターを設定します。

ユーザー設定

ユーザープロファイル

設定項目 説明
正式名称 表示名(最大 39 文字)
短縮名 4 文字の短縮名
免許を持つ運用者 アマチュア無線の免許を持っている場合に有効にします(より高い出力が可能になります)

変更を適用する

設定を変更したら、「保存」をタップして構成を無線機に書き込みます。 変更を適用するために、デバイスが再起動することがあります。

設定

デバイスの設定

設定項目 説明 デフォルト
役割 ノードの動作(クライアント、ルーターなど) クライアント
再ブロードキャストモード ノードがメッセージを再送信する方法 すべて
ノード情報のブロードキャスト(秒) ノード情報をブロードキャストする間隔 10800
ダブルタップボタン ボタンをダブルタップしたときの動作 無効

LoRa設定

設定項目 説明 デフォルト
リージョン 周波数帯の規制リージョン 未設定(要設定)
モデムプリセット 速度と距離のトレードオフ LongFast
ホップ数上限 再送信の最大ホップ数 3
送信出力 送信出力(dBm)。0 = リージョンで許可された最大値 0(リージョン最大)
周波数オフセット 周波数の微調整(MHz) 0
チャンネル帯域幅 帯域幅の設定 プリセットのデフォルト

⚠️ 重要: 送信する前に、必ずリージョンを設定する必要があります。 正しいリージョンを設定せずに運用すると、現地の無線規制に違反するおそれがあります。 詳しくは、meshtastic.org の リージョン設定ガイド を参照してください。

モデムプリセット

💡 ヒント: SNR 限界の値は意図的に負の数になっています。 LoRa はノイズフロアを下回る信号でも復調できるため、より負の大きい限界値ほど、そのプリセットは弱くノイズの多い信号に耐えられます(より遠くまで届きます)。 詳しい説明は、信号メーターの仕組み を参照してください。

プリセット 距離 速度 SNR 限界 最適な用途
Short Turbo ~1 km 21.9 kbps −7.5 dB 見通しのある高密度な都市部。データ量の多い用途
Short Fast ~3 km 10.9 kbps −7.5 dB 都市の住宅街。数ブロック以内の建物
Short Slow ~5 km 5.5 kbps −10 dB 郊外の短距離。中程度の建物密度
Medium Fast ~5 km 5.5 kbps −12.5 dB 郊外エリア。中程度の建物密度
Medium Slow ~8 km 1.1 kbps −15 dB 郊外・地方。中程度の距離で低速
Long Turbo ~10 km 4.4 kbps −12.5 dB Long Fast と同程度の距離だが 500 kHz 帯域幅。スループットが速い
Long Fast ~10 km 1.1 kbps −17.5 dB 一般用途(デフォルト):距離と速度のバランスが良い
Long Moderate ~20 km 0.34 kbps −17.5 dB 起伏のある地方。ときどき使う用途
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD 帯(125 kHz 帯域幅)。Medium Fast に相当
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD 帯(125 kHz 帯域幅)。Long Fast に相当
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz 帯(62.5 kHz 帯域幅)。他のデバイスとの干渉を避ける
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz 帯(62.5 kHz 帯域幅)。Long Fast に相当
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ 非推奨:まだ選択できますが、将来のファームウェアリリースで削除される可能性があります
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ 非推奨:まだ選択できますが、将来のファームウェアリリースで削除される可能性があります

ℹ️ 注意: この表では、一般的な短い名前を使用しています。 アプリのプリセットのドロップダウンでは、Short Range - Fast、Long Range - Fast、Lite - Fast、Narrow - Fast のように表示されます。

モデムプリセットを選ぶ

モデムプリセットは、距離とデータ速度の基本的なトレードオフを制御します:

  • 遅いプリセットは拡散をより多く使い、より弱い信号レベルでも復調できるようにします(SNR 限界が低い)。 これは、より遠くまで届く一方で、1 秒あたりのバイト数が少ないことを意味します。
  • 速いプリセットは 1 回の送信でより多くのデータを詰め込みますが、復調にはより強い信号が必要です。

実用的な指針:

  • 都市部のメッシュ(多数のノード、短距離): Long Fast(デフォルト)または Short Fast を使用します。 速度が速いほど、多くのノードがチャンネルを共有するときの電波利用時間の輻輳が減ります。
  • 地方・まばらなメッシュ(少数のノード、長距離): Long Moderate を使用します。 ノードが離れている場合は、速度よりも距離が重要です。
  • EU 866/868 MHz の規制対応: Lite Fast、Lite Slow、Narrow Fast、Narrow Slow を使用します。これらは、より狭い帯域幅で EU の SRD/868 MHz 帯に最適化されています。
  • 固定インフラのリンク: 良好なアンテナと見通しがある専用のポイントツーポイントリンクには、Short Turbo または Long Turbo を使用します。
  • 混在した環境: Long Fast のままにします。これはコミュニティのデフォルトで、地域内の他のユーザーとの互換性を確保します。

⚠️ 重要: 同じチャンネル上のすべてのノードは、同じモデムプリセットを使用する必要があります。 プリセットが一致しないノードは、同じ周波数と暗号化鍵を共有していても通信できません。

💡 ヒント: 上記の距離の目安は、平坦な地形と一般的なアンテナを前提としています。 高所(丘の上、屋上)にあると、実効的な距離が大幅に伸びます。 適切に設置された Long Fast のルーターは、地上に置かれた Long Slow のノードを上回ることがよくあります。

表示設定

設定項目 説明
画面のタイムアウト ディスプレイがスリープするまでの時間
表示単位 メートル法またはヤード・ポンド法
OLED の種類 自動、SSD1306、SH1106、SH1107
コンパスの向き コンパス表示の回転オフセット(0°、90°、180°、270°)
コンパスの北 ⚠️ 非推奨:コンパスの向きに置き換えられました。古いファームウェアではまだ表示されます

位置情報設定

設定項目 説明
GPS を有効化 GPS の有効/無効
GPS の更新間隔 GPS 測位を取得する頻度
位置のブロードキャスト(秒) 位置を共有する頻度
スマート位置 移動に基づくブロードキャストを有効化
固定位置 手動で設定した位置を使用

電源設定

設定項目 説明
省電力 低電力のスリープモードを有効化
シャットダウンまでの時間(秒) アイドル時の自動シャットダウンタイマー
ADC 倍率 バッテリー電圧の校正係数
Bluetooth 待機時間(秒) 起動時に BLE 接続を待つ時間
メッシュ SDS タイムアウト(秒) スーパーディープスリープのタイムアウト

ネットワーク設定

設定項目 説明
WiFi を有効化 WiFi 無線を有効化(ESP32 デバイス)
WiFi SSID 接続先のネットワーク名
WiFi PSK ネットワークのパスワード
NTP サーバー 時刻同期サーバー
Syslog サーバー リモートログサーバー

IP アドレスの入力欄

Bluetooth 設定

設定項目 説明
Bluetooth を有効化 BLE 無線の有効/無効
ペアリングモード 固定 PIN、ランダム PIN、または PIN なし
固定 PIN ペアリング用の PIN コード(デフォルト:123456)

セキュリティ設定

設定項目 説明
公開鍵 ノードの公開鍵(読み取り専用)
管理者鍵 リモート管理用の鍵
秘密鍵 ノードの秘密鍵(安全に取り扱ってください)
管理チャンネルを有効化 ⚠️ 削除されました:管理者キーを設定すると自動的に構成されるようになりました
デバッグログ シリアル/Bluetooth 経由でライブのデバッグログを出力
シリアルを有効化 シリアルコンソールへのアクセスを有効化(デバイスの設定から移動)
管理モード 管理者以外によるチャンネル変更を制限
鍵をバックアップ Save an encrypted backup of the node’s keys on this device (Android only)
鍵を復元 Write the backed-up keys back to the node (available once a backup exists)
鍵のバックアップを削除 Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

パスワードの入力欄

設定には、標準的な設定コントロール(ドロップダウン、トグル、スライダー)を使用します:

コントロール スクリーンショット
ドロップダウン ドロップダウン
トグル トグル
スライダー スライダー

関連トピック



diff --git a/v2.8.0/ja-rJP/user/signal-meter.html b/v2.8.0/ja-rJP/user/signal-meter.html deleted file mode 100644 index ed4c585415..0000000000 --- a/v2.8.0/ja-rJP/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - Meshtastic の信号メーターの仕組み | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

Meshtastic の信号メーターの仕組み

Meshtastic の信号メーター(アプリでおなじみのバーやステータスの色)は、従来の携帯電話や WiFi ルーターの「バー」とはまったく異なる方法で計算されます。

ほとんどの一般向けデバイスは、単に信号がどれだけ「大きい」かを測定します。 しかし Meshtastic は LoRa(Long Range)技術を使用しているため、その信号メーターは、メッシュが使用している具体的な設定を基準に、信号がどれだけ明瞭かを測定します。


1. 2 つの指標:「大きさ」と「明瞭さ」

LoRa の無線チップは、メッセージを受信するたびに 2 つの測定値を報告します:

  • RSSI(受信信号強度インジケーター): アンテナに届く生の電力の大きさ。
  • SNR(信号対ノイズ比): 背景のノイズと比較した信号の明瞭さ。

💡 ヒント: たとえて言うと、友人があなたに話しかけているのを聞き取ろうとしている場面を想像してください。

  • RSSI は、その声がどれだけ大きいかです。
  • ノイズフロアは、部屋の中の背景ノイズ(エアコン、他の人の話し声、交通音)です。
  • SNR は、背景ノイズの中から友人の声をどれだけ簡単に聞き分けられるかです。

耳をつんざくようなロックコンサートで友人が叫んでも、信号は非常に大きい(高い RSSI)一方で、背景ノイズのほうが大きいため(悪い SNR)、聞き取れません。 逆に、静まり返った図書館で友人がささやけば、信号は非常に弱い(低い RSSI)ものの、完璧に聞き取れます(非常に良い SNR)。


2. LoRa の魔法:「ノイズフロアの下」を聞き取る

標準的な無線(FM や WiFi など)では、背景ノイズが信号より大きい(負の SNR)場合、受信機にはノイズしか聞こえません。

LoRa は特別です。 **「スペクトラム拡散」**変調を使用しており、信号が背景ノイズの下深くに埋もれていても、無線機が数学的に信号を取り出せます。 そのため Meshtastic では、負の SNR 値が頻繁に見られます(例:-10 dB。これは信号が背景ノイズより 10 デシベル弱いことを意味します)。

使用している Meshtastic のプリセット(例:LongFast と ShortFast)に応じて、無線機には固有の SNR 限界があります。これは、メッセージがノイズに完全に埋もれてしまう前に許容できるノイズの絶対的な最大量です。


3. 信号メーターが品質を計算する仕組み

アプリは、信号品質(なし・不良・普通・良)を SNR のみから、プリセットの SNR 限界を基準として評価します。これは前述の復調限界です。 この評価には、意図的に RSSI を含めていません。ローカルのノイズフロアが分からなければ、RSSI だけでは信号が実際に復調できるかどうかは分からないため、プリセット限界に対する SNR が意味のある指標になります。 (RSSI は、別の場所には引き続き表示されます。)

評価はプリセット限界を基準とするため、同じ SNR でもプリセットによって評価が異なります。-15 dB は LongSlow では良好ですが、ShortFast では使い物になりません。 limit を現在のプリセットの SNR 限界とすると、アプリがバー(または色)を選ぶ方法は次のとおりです:

レベル バー 基準 意味
良 3 SNR がプリセットの limit を上回る 信号が復調限界を十分に上回っています。良好な接続です。
普通 2 limit より 5.5 dB 未満低い 復調できますが、限界に近づいています。
不良 1 limit より 5.5 dB〜7.5 dB 低い プリセットが復元できるぎりぎりの境界です。
なし 0 limit より 7.5 dB を超えて低い 限界を下回っています。送信がノイズに埋もれて失われます。

注意: 他の場所で見かけたことのある固定の SNR しきい値(-7 dB/-15 dB)は、現在ではルート追跡の結果で個々のホップに色を付けるためだけに使われ、ここで説明しているノードごとの信号メーターには使われません。


4. これがあなたにとって意味すること

Meshtastic のメーターは**「明瞭さのメーター」**として機能するため、多くの人が予想するのとは異なる動作をします:

💡 ヒント: RSSI が低くても慌てないでください。 -118 dBm のような、一見ひどい RSSI 値が表示されることがあります。 携帯電話なら、バーはゼロでしょう。 しかし SNR が +2 dB あれば、Meshtastic は依然として強い信号を表示します! 図書館は静かなので、ささやき声も完璧に聞こえます。

⚠️ 警告: ローカルのノイズに注意してください。 大型のアンテナを接続して優れた RSSI(例:-90 dBm)が表示されているのに、信号メーターが **1 本(不良)**しか表示していない場合、問題があります。 これは、ローカルの干渉(安価な電源、ノイズの多いコンピューター、近くの電波塔など)が大量のノイズを発生させ、メッシュをかき消していることを意味します。

信号情報が表示される場所

アプリでは、信号データはいくつかの場所に表示されます:

  • ノードリスト:各ノードの横にある信号バーのアイコン
  • ノードの詳細:デバイスメトリクスのセクションにある SNR、RSSI、信号品質
  • ルート追跡:各中継ノードの、ホップごとの信号品質
  • 信号メトリクス:メトリクスのグラフにある SNR と RSSI の履歴データ

SNR、RSSI の値と色付きの信号バーを表示したノードの項目

関連トピック



diff --git a/v2.8.0/ja-rJP/user/tak.html b/v2.8.0/ja-rJP/user/tak.html deleted file mode 100644 index 906356f14e..0000000000 --- a/v2.8.0/ja-rJP/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK 連携 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

TAK 連携

Meshtastic は Team Awareness Kit(TAK)エコシステムと連携し、Meshtastic のメッシュデバイスと、ATAK や WinTAK などの TAK アプリケーションとの相互運用を可能にします。

概要

TAK モジュールを使うと、Meshtastic のノードは次のことができます:

  • TAK 互換の CoT(Cursor on Target)形式で位置データを共有する
  • TAK のマップ表示上にチームメンバーとして表示される
  • TAK の PLI(位置情報)メッセージを受信する

セットアップ

前提条件

  • ATAK(Android Team Awareness Kit)または WinTAK がインストールされていること
  • Meshtastic ATAK プラグインがインストールされていること
  • Meshtastic 無線機で TAK モジュールが有効になっていること

設定

  1. 「設定 → モジュール設定 → TAK」に移動します。
  2. TAK モジュールを有効にします。
  3. TAK のチーム/グループ設定を構成します:

モジュールのトグルスイッチ

設定項目 説明
有効 TAK 相互運用を有効化
モード TAK 互換の出力モード

ATAK プラグインのセットアップ

  1. プラグインリポジトリから Meshtastic ATAK プラグインをインストールします。
  2. ATAK を開き、Meshtastic プラグインを有効にします。
  3. プラグインは、ATAK とメッシュネットワークの間でメッセージを橋渡しします。

ローカル TAK サーバー

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. 「設定 → モジュール設定 → TAK → TAK サーバー」を開きます:

有効化トグルとエクスポートオプションを備えたローカル TAK サーバーの設定

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • TAK データパッケージをエクスポート:ATAK/iTAK がこのサーバーに接続するためにインポートできる .zip データパッケージを生成します。

TAK の役割

TAK 関連の役割を設定したノードは、標準のクライアントとは動作が異なります:

役割 説明
TAK 完全な TAK 相互運用。CoT データ、チャットメッセージ、PLI 更新を送受信します。 標準のクライアントとして機能し、さらに TAK ブリッジも兼ねます。
TAK Tracker 位置情報のみの TAK 出力。ユーザーの操作なしに、一定間隔で自動的に PLI をブロードキャストします。 無人の位置ビーコン(車両、機材、ウェイポイント)に最適化されています。 チャットメッセージは中継しません。

💡 ヒント: 位置の報告だけが必要なデバイス(例:車両に取り付けた無線機)には TAK Tracker を使用します。 ユーザーが TAK の運用に積極的に参加するデバイスには TAK を使用します。

CoT(Cursor on Target)形式

TAK のメッセージは Cursor on Target の XML 形式を使用します。これは状況認識データを共有するための軍事標準です。 Meshtastic は、TAK システムに橋渡しする際に内部の protobuf メッセージを CoT 形式に変換するため、手動での形式変換は必要ありません。

TAK のアイデンティティ

TAK の役割を使用すると、ノードは TAK のマップに表示されるアイデンティティ情報をブロードキャストします:

設定項目 説明
チームカラー TAK のマップ上でのチームの色(例:ブルー、レッド、シアン、グリーン)
メンバーロール 運用上の役割(チームメンバー、チームリード、HQ、メディック、RTO など)

これらの設定は、TAK モジュールが有効なときに「設定 → モジュール設定 → TAK」に表示されます。 TAK のコールサインは別個の設定ではありません。Meshtastic のノード名から自動的に導かれます。

💡 ヒント: チーム/役割の色は、TAK の標準的な所属色です。 一貫したチーム割り当てを使うよう、TAK チームと調整してください。

ワイヤ形式(V1/V2)

Meshtastic は 2 つの TAK ワイヤ形式に対応しており、接続中の無線機のファームウェアに基づいて自動的に選択されます。手動での設定は必要ありません:

形式 互換性 機能
V1(レガシー) ファームウェア 2.7.x 以前 ポート 72 での素の protobuf エンコード。 位置共有(PLI)とチャット(GeoChat)のみに対応。図形、マーカー、ルート、その他の型付き CoT イベントは破棄されます
V2(現行) ファームウェア 2.8.0 以降 ポート 78 でのコンパクトな zstd 圧縮エンコード。 V1 が対応するすべてに加えて、図形、マーカー、ルート、航空機、casevac、緊急、タスクの CoT タイプを追加します

ノードは V2 を実行していても、古いノードからのレガシーな V1 パケットを引き続き中継するため、ファームウェアが混在したメッシュでも動作し続けます。

ATAK での使用

設定が完了すると:

  • Meshtastic のノードが、コールサインのラベル付きで ATAK のマップにマーカーとして表示されます
  • チャットメッセージを、メッシュと TAK ネットワークの間で橋渡しできます
  • 位置の更新が、Meshtastic と TAK の間で双方向に流れます
  • TAK Tracker のノードは自動的に PLI をブロードキャストします。ATAK 側の設定なしで、その位置が ATAK のマップに表示されます

⚠️ 注意: TAK 連携には、特定のノードの役割とモジュールの設定が必要です。 標準のクライアントノードは、自動的には TAK の運用に参加しません。

トラブルシューティング

問題 原因 解決策
ノードが ATAK のマップに表示されない TAK モジュールが無効、または役割が正しくない TAK モジュールが有効で、ノードの役割が TAK または TAK Tracker になっているか確認する
位置の更新が古い GPS 測位が失われた、または間隔が長すぎる GPS の状態を確認し、位置情報設定で位置のブロードキャスト間隔を短くする
ATAK プラグインが「切断」と表示する BLE 接続が失われた、またはプラグインがクラッシュした Meshtastic アプリで Bluetooth を再接続し、その後 ATAK プラグインを再起動する
図形、マーカー、ルートが橋渡しされない 送信側のノードがレガシーな V1(ファームウェア 2.7.x 以前)である V2 ワイヤ形式にするため、送信側のノードのファームウェアを 2.8.0 以降に更新する
CoT データが流れない チャンネルの不一致 すべての TAK ノードが、暗号化が一致した同じチャンネル上にある必要がある

セキュリティに関する注意

  • TAK データは、あなたの位置とコールサインの情報を共有します
  • 機密性の高い環境で TAK を使用する場合は、チャンネルの暗号化を設定してください
  • TAK モジュールは、他の Meshtastic メッセージと同じチャンネル暗号化に従います

関連トピック



diff --git a/v2.8.0/ja-rJP/user/telemetry-and-sensors.html b/v2.8.0/ja-rJP/user/telemetry-and-sensors.html deleted file mode 100644 index 35363b3062..0000000000 --- a/v2.8.0/ja-rJP/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - テレメトリとセンサー | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

テレメトリとセンサー

Meshtastic のノードは、メッシュネットワーク全体でセンサーデータを収集・共有できます。

概要

テレメトリを使うと、センサーを搭載したノードが、環境・電力・デバイスの状態の情報をブロードキャストできます。 このデータはノードの詳細画面で確認でき、時系列で記録することもできます。

デバイステレメトリ

すべての Meshtastic ノードは、基本的なデバイステレメトリを報告します:

メトリクス 説明 標準的な範囲
バッテリー残量 充電の割合 0–100%
電圧 バッテリー電圧 3.0–4.2V (LiPo)
チャンネル全体の利用率 ローカルで使用された電波利用時間の割合 0–100%
送信の電波利用率 このノードが使用した電波利用時間の割合 0–100%
連続稼働時間 前回の起動からの経過秒数 可変

環境センサー

対応する環境センサー:

温度と湿度

センサー 温度 湿度 気圧 備考
BME280 ✓ ✓ ✓ おすすめのオールインワン
BME680 ✓ ✓ ✓ ガス抵抗/IAQ を追加
SHT31 ✓ ✓ — 高精度
MCP9808 ✓ — — 高精度な温度
LPS22 — — ✓ 気圧のみ

大気質

センサー メトリクス 備考
BME680 ガス抵抗/IAQ 揮発性有機化合物
PMSA003I PM1.0, PM2.5, PM10 粒子状物質
SEN55 PM、NOx、VOC、温度、湿度 マルチセンサー

光と UV

センサー メトリクス
OPT3001 周囲の明るさ(ルクス)
VEML7700 周囲の明るさ(ルクス)
LTR390 UV 指数

電力メトリクス

INA シリーズの電力センサーを搭載したノードは、次を報告できます:

メトリクス 説明
バス電圧 供給レールの電圧
電流 消費電流(mA)
電力 計算された電力(mW)

リモートノードの太陽光充電やバッテリーの状態を監視するのに便利です。

テレメトリを設定する

  1. 「設定 → モジュール設定 → テレメトリ」に移動します。
  2. 報告間隔を設定します:
    • デバイスメトリクスの間隔:デバイスメトリクスをブロードキャストする頻度
    • 環境メトリクスの間隔:センサーデータをブロードキャストする頻度
  3. 必要に応じて、特定のセンサーの種類を有効にします。

推奨の間隔

用途 デバイス(秒) 環境(秒)
都市部のメッシュ(多数のノード) 3600 3600
地方のメッシュ(少数のノード) 900 900
気象観測所 900 300
バッテリー節約 7200 7200

⚠️ 注意: 間隔を短くすると、メッシュ全体で電波利用時間の消費とバッテリーの消耗が増えます。

大気質メトリクス

粒子状物質センサーまたは CO₂ センサーを搭載したノードは、大気質データを報告します:

メトリクス 単位 説明
PM1.0 µg/m³ 超微小粒子状物質
PM2.5 µg/m³ 微小粒子状物質
PM10 µg/m³ 粗大粒子状物質
CO₂ ppm 二酸化炭素の濃度

SCD4x などの CO₂ センサーは、自身の温度と湿度も報告し、上記の測定値とともに表示されます。 アプリは、PM2.5 の履歴から EPA NowCast AQI の値も算出します。

CO₂ の測定値は、深刻度に応じて色分けされます(良好 → 空気がこもる → 悪い → 危険 → 退避)。 正確な ppm の区分、色、AQI の詳細については、ノードメトリクス:大気質 を参照してください。

大気質データは、ノードの詳細画面で情報カードとして表示したり、時系列でグラフ化したり、CSV にエクスポートしたりできます。

テレメトリを表示する

  1. 「ノード」に移動して、ノードを選択します。
  2. 詳細画面にテレメトリのセクションが表示されます:
    • デバイスメトリクス(常に利用可能)
    • 環境メトリクス(センサーがある場合)
    • 電力メトリクス(INA センサーがある場合)
    • 大気質メトリクス(PM/CO₂ センサーがある場合)
  3. 履歴グラフで、時系列の傾向を確認できます。

テレメトリの操作

トラブルシューティング

  • 環境データが表示されない? リモートノードに物理センサーが接続されている必要があります(例:I2C の BME280)。 デバイステレメトリ(バッテリー、連続稼働時間)は常に利用できますが、環境メトリクスにはハードウェアが必要です。
  • 測定値が古い? 報告間隔を確認してください。非常に長い間隔(7200 秒以上)では、データの更新頻度が低くなります。 リモートノードがまだオンラインであるかも確認してください。
  • I2C バスでセンサーが競合している? 一部のセンサーは I2C アドレスを共有しています。 同じバスに複数のセンサーがある場合は、無線機のシリアルデバッグ出力でアドレスの衝突がないか確認してください。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/translate.html b/v2.8.0/ja-rJP/user/translate.html deleted file mode 100644 index ddcfb74a33..0000000000 --- a/v2.8.0/ja-rJP/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - アプリを翻訳する | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

アプリを翻訳する

翻訳への貢献は、Meshtastic をより多くの人が使えるようにするのに役立ちます。 アプリは、ユーザーインターフェースとアプリ内ドキュメントの両方のコミュニティ翻訳を管理するために Crowdin を使用しています。


翻訳される対象

リソース ソースの場所 備考
UI 文字列 core/resources/src/commonMain/composeResources/values/strings.xml ボタン、ラベル、メッセージ、およびユーザーに表示されるすべてのテキスト
ユーザーガイドのページ docs/en/user/*.md 「ヘルプとドキュメント」に表示されるアプリ内ドキュメント
Fastlane メタデータ fastlane/metadata/android/en-US/ アプリストアの掲載タイトル、説明、変更履歴

⚠️ 注意: 開発者ガイドのページは英語のみです。 コントリビューター向けの、コード中心のドキュメントは翻訳されません。


貢献する方法

  1. Crowdin プロジェクトにアクセスします。 Meshtastic Android の Crowdin プロジェクト を開き、サインインするか、無料アカウントを作成します。
  2. 言語を選びます。 既存の言語を選択するか、GitHub の issue を作成して新しい言語をリクエストします。
  3. 文字列を翻訳します。 Crowdin では、左側に英語の原文、右側に自分の翻訳が表示されます。 各文字列を翻訳して保存します。
  4. コンテキストを確認します。 多くの文字列には、スクリーンショットやコンテキストのコメントが含まれています。これらを確認して、テキストがアプリのどこに表示されるかを把握してください。
  5. 送信します。 承認された翻訳は、次のリリースに自動的にマージされます。

💡 ヒント: 翻訳は短くしてください。 UI 文字列は、ボタン、チップ、狭い列に表示されることがよくあります。 翻訳が英語の原文よりも大幅に長くなる場合は、意味が明確なままになる範囲で短縮することを検討してください。


新しい言語を追加する

自分の言語がまだ Crowdin に掲載されていない場合:

  1. GitHub で issue を作成し、新しいロケールをリクエストします。
  2. メンテナーが Crowdin にその言語を追加し、crowdin.yml を設定します。
  3. 追加されたら、すぐに翻訳を始められます。

翻訳の構成

Android アプリは、ユーザーに表示されるすべての文字列に Compose Multiplatform リソースを使用しています:

core/resources/src/commonMain/composeResources/
-├── values/              ← 英語(デフォルト)
-│   └── strings.xml
-├── values-de/           ← ドイツ語
-│   └── strings.xml
-├── values-fr/           ← フランス語
-│   └── strings.xml
-└── ...
-

アプリ内ドキュメントも、docs/ の下で同様のパターンに従います:

docs/
-├── en/user/             ← 英語ソース(デフォルト)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← フランス語(フランス)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← ドイツ語(ドイツ)
-│   └── ...
-└── ...
-

ロケールフォルダーは、Android のリソース規則 {lang}-r{REGION}(例:fr-rFR、de-rDE、ja-rJP)を使用し、アプリ文字列に使われる values-* ディレクトリと対応しています。

アプリは、デバイスの言語と地域の設定に基づいて、正しいロケールを自動的に選択します。


翻訳ガイドライン

  • 「LoRa」「MQTT」「BLE」「TAK」「SNR」「RSSI」などの技術用語は翻訳しないでください。これらは共通です。
  • プレースホルダーはそのまま保ちます。 %1$s や %d のような文字列は、実行時に値が埋め込まれます。 自分の言語の文法上必要な場合を除き、削除したり並び替えたりしないでください。
  • トーンを合わせます。 アプリは、親しみやすく率直な語り口を使っています。 過度に堅い言葉は避けてください。
  • 可能ならテストします。 デバイスの言語を切り替えてアプリを開き、翻訳が実際の文脈でどう見えるか確認してください。

質問がありますか?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Meshtastic の普及にご協力いただき、ありがとうございます!


diff --git a/v2.8.0/ja-rJP/user/units-and-locale.html b/v2.8.0/ja-rJP/user/units-and-locale.html deleted file mode 100644 index 47b629fc25..0000000000 --- a/v2.8.0/ja-rJP/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - 単位・計測・ロケール | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

単位・計測・ロケール

Meshtastic アプリは、温度・距離・速度・時刻を、デバイスで設定されている単位で自動的に表示します。アプリ内で変更する設定はありません。


仕組み

Meshtastic の無線機は、常にメートル法の単位(メートル、°C、m/s、hPa など)でデータを送信します。 アプリはこのデータを受信すると、デバイスのロケールで指定された単位系に変換して値を表示します。

Android では、計測の設定はシステムの言語と地域の設定によって決まります。 デスクトップ(JVM)では、アプリは JVM のデフォルトの Locale を使用します。

💡 ヒント: アプリ内で単位を切り替える必要はまったくありません。 システムの計測設定を変更すると、Meshtastic のすべての画面(ノードの詳細、テレメトリのグラフ、天気、標高など)が自動的に更新されます。


温度

環境センサーの温度値は °C で送信され、デバイスの温度単位の設定に基づいて表示されます。

温度を含む環境メトリクス

あなたの設定 表示
摂氏 22°C
華氏 72°F

これは、アプリ全体のすべての温度表示に影響します:ノードの環境テレメトリ、土壌温度、露点、テレメトリグラフの軸。

距離と標高

ノード間の距離と GPS の標高はメートルで送信され、自動的にスケーリングされて変換されます。

距離情報の表示

あなたの設定 短い距離 長い距離 標高
メートル法 350 m 2.5 km 1,200 m
ヤード・ポンド法(米国) 1,148 ft 1.6 mi 3,937 ft

アプリは自然なスケーリングを使用します。短い距離はメートルやフィートのままで、長い距離は自動的にキロメートルやマイルに切り替わります。

表示される場所

  • ノードリスト:各ノードまでの距離と方位
  • ノードの詳細:標高、自分の位置からの距離
  • マップ:ウェイポイントまでの距離、ルート追跡のホップ距離
  • コンパス:選択したノードまでの距離

速度

GPS の対地速度は、ロケールで優先される速度単位で表示されます。

あなたの設定 表示
メートル法 12 km/h
ヤード・ポンド法(米国) 7 mph

風力

環境センサーの風速と突風のデータは m/s で送信され、表示用に変換されます。

あなたの設定 表示
メートル法 5 m/s
ヤード・ポンド法(米国) 11 mph

風の測定値は、「ノードの詳細」の環境セクションと「環境テレメトリ」のグラフに表示されます。

降水量

降水量の測定値(1 時間および 24 時間の合計)は mm で送信され、表示用に変換されます。

あなたの設定 表示
メートル法 12 mm
ヤード・ポンド法(米国) 0.5 in

変わらない単位

一部の単位は国際標準であり、ロケールに関係なく同じように表示されます:

計測項目 単位 理由
大気圧 hPa 国際的な気象標準
方位/進行方向 °(度) 普遍的な航法の慣例
放射線 μR/hr 標準的な線量測定の単位
GPS 座標 十進法の度 普遍的な地理標準
湿度、バッテリー、土壌水分 % 普遍的

日付と時刻

アプリ全体のすべてのタイムスタンプ(最後の通信、メッセージの時刻、テレメトリのログ、グラフの軸)は、デバイスの日付と時刻の設定に従います。

設定 制御する内容 例
24 時間表示 時刻の形式 14:30 vs 2:30 PM
日付形式 日付の並び順 09/05/2026 vs 05/09/2026

アプリは、意味がある場面では相対時間も使用します。たとえばノードリストの「5 分前」や「2 時間前」で、これらはデバイスの言語に自動的にローカライズされます。

計測系を変更する(Android)

Android では、計測系(メートル法かヤード・ポンド法か)は地域設定に連動しています:

  1. 「Android の設定 → システム → 言語と地域」を開きます
  2. 「地域」または「計測単位」の設定を変更します
  3. Meshtastic に戻ります。値がすぐに更新されます

💡 ヒント: すべての計測値の書式は一元的に処理され、プラットフォームのロケールに従うため、単位はアプリ全体で一貫しています。

関連トピック



diff --git a/v2.8.0/ja-rJP/user/widget.html b/v2.8.0/ja-rJP/user/widget.html deleted file mode 100644 index 8befe5a9ec..0000000000 --- a/v2.8.0/ja-rJP/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - ホーム画面ウィジェット | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 日本語
Meshtastic Docs ↗

🌐 日本語 — Community translation View in English

ホーム画面ウィジェット

Android では、Meshtastic はホーム画面のウィジェットを提供しており、接続中の無線機のライブなローカル統計をひと目で確認できます。アプリを開く必要はありません。

表示される内容

ウィジェットは、接続中の無線機の現在のローカル統計を表示します:

  • Battery:無線機のバッテリー残量。外部電源で動作している場合は Powered(給電中)
  • ChUtil:チャンネル利用率(LoRa チャンネルがどれだけ混雑しているかを割合で表示)
  • AirUtil:電波利用率(無線機がデューティサイクルのうちどれだけ送信しているか)
  • Traffic:送受信したパケットと、検出した重複
  • Relays:中継したパケットと、中継のキャンセル(無線機が中継しているときに表示)

ウィジェットをタップするとアプリが開きます。更新コントロールを使うと、最新の統計を要求できます。

💡 ヒント: 値は、現在接続している無線機を反映します。 アプリが無線機に接続していない場合、ウィジェットは再接続するまで、最後に分かっている統計を表示します。

ウィジェットを追加する

  1. Android のホーム画面の空いている場所を長押しします。
  2. 「ウィジェット」をタップします。
  3. リストで Meshtastic を見つけ、「Local Stats」ウィジェットをホーム画面にドラッグします。
  4. 必要に応じてサイズを変更します。レイアウトは利用可能なスペースに合わせて調整されます。

⚠️ 注意: このウィジェットは Android 専用です。 デスクトップ版や iOS 版では利用できません。

関連トピック

  • ノードメトリクス:アプリ内の完全な信号品質とローカル統計の履歴
  • コネクション:ウィジェットに表示する統計が得られるよう、無線機に接続する
  • 探索:メッシュ全体のチャンネル利用率と電波利用率


diff --git a/v2.8.0/ko-rKR/index.html b/v2.8.0/ko-rKR/index.html deleted file mode 100644 index 2e5863021a..0000000000 --- a/v2.8.0/ko-rKR/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide 설명
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/ko-rKR/user/android-auto.html b/v2.8.0/ko-rKR/user/android-auto.html deleted file mode 100644 index 602aef6cdc..0000000000 --- a/v2.8.0/ko-rKR/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

메시지기기

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

노드

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/ko-rKR/user/app-functions.html b/v2.8.0/ko-rKR/user/app-functions.html deleted file mode 100644 index dad2c15867..0000000000 --- a/v2.8.0/ko-rKR/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/ko-rKR/user/connections.html b/v2.8.0/ko-rKR/user/connections.html deleted file mode 100644 index b93223d803..0000000000 --- a/v2.8.0/ko-rKR/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State 설명
🟢 연결됨 Active radio link established
🟡 연결 중 Handshake in progress
🔴 연결 끊김 No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/ko-rKR/user/debug-logs.html b/v2.8.0/ko-rKR/user/debug-logs.html deleted file mode 100644 index 6196b2906e..0000000000 --- a/v2.8.0/ko-rKR/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/ko-rKR/user/desktop.html b/v2.8.0/ko-rKR/user/desktop.html deleted file mode 100644 index 00148409c9..0000000000 --- a/v2.8.0/ko-rKR/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
지도 ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
설정 ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/ko-rKR/user/discovery.html b/v2.8.0/ko-rKR/user/discovery.html deleted file mode 100644 index 19271d1e2e..0000000000 --- a/v2.8.0/ko-rKR/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control 설명
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

추적 루트

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

이웃 정보

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/ko-rKR/user/firmware.html b/v2.8.0/ko-rKR/user/firmware.html deleted file mode 100644 index b174f2c684..0000000000 --- a/v2.8.0/ko-rKR/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

채널 설명
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/ko-rKR/user/help-and-docs.html b/v2.8.0/ko-rKR/user/help-and-docs.html deleted file mode 100644 index 706fa652f8..0000000000 --- a/v2.8.0/ko-rKR/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/ko-rKR/user/map-and-waypoints.html b/v2.8.0/ko-rKR/user/map-and-waypoints.html deleted file mode 100644 index d998d903fa..0000000000 --- a/v2.8.0/ko-rKR/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property 설명
이름 Short identifier (max 29 characters)
설명 Optional longer description
Icon Visual marker emoji on the map
잠김 If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/ko-rKR/user/messages-and-channels.html b/v2.8.0/ko-rKR/user/messages-and-channels.html deleted file mode 100644 index d418dfef1d..0000000000 --- a/v2.8.0/ko-rKR/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

채널

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level 설명
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Error Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Error Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
시간 초과 No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
인터페이스 없음 No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
채널 없음 The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
잘못된 요청 Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

타입 Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/ko-rKR/user/mqtt.html b/v2.8.0/ko-rKR/user/mqtt.html deleted file mode 100644 index 7aaf4335d3..0000000000 --- a/v2.8.0/ko-rKR/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

설정

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting 설명 기본값
Server Address MQTT broker hostname mqtt.meshtastic.org
사용자명 Broker authentication meshdev
비밀번호 Broker authentication large4cats
Root Topic Base topic for messages msh
암호화 Encrypt MQTT payload 활성화
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction 설명
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format 설명 Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/ko-rKR/user/node-metrics.html b/v2.8.0/ko-rKR/user/node-metrics.html deleted file mode 100644 index 219e9de134..0000000000 --- a/v2.8.0/ko-rKR/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric 설명
Battery Level Current battery percentage
전압 Battery voltage reading
채널 사용 Percentage of airtime consumed
Airtime Transmission time used by this node
업타임 Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
온도 BME280, BME680, SHT31
습도 BME280, BME680, SHT31
기압 BME280, BMP280
가스 저항 BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit 설명
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
좋음 < 1000 초록
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 빨강
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric 설명
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
좋음 SNR above the preset’s limit
보통 less than 5.5 dB below the limit
나쁨 5.5 dB to 7.5 dB below the limit
없음 more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric 설명
Bus Voltage Supply voltage
전류 Power draw in milliamps
전원 Calculated wattage

추적 루트

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

위치 로그

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

이웃 정보

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/ko-rKR/user/nodes.html b/v2.8.0/ko-rKR/user/nodes.html deleted file mode 100644 index 5e81f2a2d4..0000000000 --- a/v2.8.0/ko-rKR/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - 노드 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

노드

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

역할 설명
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

필터 설명
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort 설명
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
최근 수신 Last heard
거리 Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/ko-rKR/user/onboarding.html b/v2.8.0/ko-rKR/user/onboarding.html deleted file mode 100644 index 1f09cf4ba8..0000000000 --- a/v2.8.0/ko-rKR/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/ko-rKR/user/settings-module-admin.html b/v2.8.0/ko-rKR/user/settings-module-admin.html deleted file mode 100644 index d5d8a2d10b..0000000000 --- a/v2.8.0/ko-rKR/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting 설명
활성화 Toggle MQTT bridge
서버 MQTT broker address
사용자명 Authentication username
비밀번호 Authentication password
암호화 Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting 설명
활성화 Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting 설명
활성화 Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting 설명
활성화 Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
레코드 Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
서버 Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting 설명
활성화 Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting 설명
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting 설명
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
메시지기기 Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting 설명
활성화 Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting 설명
활성화 Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting 설명
활성화 Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting 설명
LED State Turn the LED on or off
전류 LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting 설명
활성화 Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting 설명
활성화 Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

관리

원격 설정

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

재부팅

Remotely reboot a connected or administered node.

디버그 패널

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ko-rKR/user/settings-radio-user.html b/v2.8.0/ko-rKR/user/settings-radio-user.html deleted file mode 100644 index 97a5094c9c..0000000000 --- a/v2.8.0/ko-rKR/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting 설명
긴 이름 Your display name (up to 39 characters)
짧은 이름 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

설정

장치 설정

Setting 설명 기본값
역할 Node behavior (Client, Router, etc.) Client
중계 모드 How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa 설정

Setting 설명 기본값
지역 Regulatory region for frequency bands Unset (must configure)
모뎀 프리셋 Speed/range tradeoff LongFast
Hop 제한 Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
주파수 오프셋 Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

화면 설정

Setting 설명
화면 끄기 시간 Time before display sleeps
단위 표시 Metric or Imperial
OLED 타입 Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

위치 설정

Setting 설명
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

전원 설정

Setting 설명
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

네트워크 설정

Setting 설명
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK 네트워크 암호
NTP 서버 Time synchronization server
Syslog Server Remote logging server

IP address field

블루투스 설정

Setting 설명
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
고정 PIN PIN code for pairing (default: 123456)

보안 설정

Setting 설명
공개 키 Your node’s public key (read-only)
Admin 키 Key for remote administration
개인 키 Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
관리 모드 Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/ko-rKR/user/signal-meter.html b/v2.8.0/ko-rKR/user/signal-meter.html deleted file mode 100644 index 0d930b96b6..0000000000 --- a/v2.8.0/ko-rKR/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
좋음 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
보통 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
나쁨 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
없음 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/ko-rKR/user/tak.html b/v2.8.0/ko-rKR/user/tak.html deleted file mode 100644 index 941032ab02..0000000000 --- a/v2.8.0/ko-rKR/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

설정

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting 설명
활성화 Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

역할 설명
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting 설명
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/ko-rKR/user/telemetry-and-sensors.html b/v2.8.0/ko-rKR/user/telemetry-and-sensors.html deleted file mode 100644 index f6e89a0850..0000000000 --- a/v2.8.0/ko-rKR/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric 설명 Typical Range
Battery Level Charge percentage 0–100%
전압 Battery voltage 3.0–4.2V (LiPo)
채널 사용 % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
업타임 Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor 온도 습도 기압 Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric 설명
Bus Voltage Supply rail voltage
전류 Power consumption (mA)
전원 Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit 설명
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/ko-rKR/user/translate.html b/v2.8.0/ko-rKR/user/translate.html deleted file mode 100644 index 9d94ef3693..0000000000 --- a/v2.8.0/ko-rKR/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/ko-rKR/user/units-and-locale.html b/v2.8.0/ko-rKR/user/units-and-locale.html deleted file mode 100644 index 207bb5dd8e..0000000000 --- a/v2.8.0/ko-rKR/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


온도

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

바람

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
복사 μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/ko-rKR/user/widget.html b/v2.8.0/ko-rKR/user/widget.html deleted file mode 100644 index 194065c1c7..0000000000 --- a/v2.8.0/ko-rKR/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 한국어
Meshtastic Docs ↗

🌐 한국어 — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/locales.json b/v2.8.0/locales.json deleted file mode 100644 index f5f82f1fa2..0000000000 --- a/v2.8.0/locales.json +++ /dev/null @@ -1 +0,0 @@ -["ar-rSA", "be-rBY", "bg-rBG", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", "et-rEE", "fi-rFI", "fr-rFR", "ga-rIE", "gl-rES", "hr-rHR", "ht-rHT", "hu-rHU", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "ko-rKR", "lt-rLT", "nl-rNL", "no-rNO", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "sk-rSK", "sl-rSI", "sq-rAL", "srp", "sv-rSE", "tr-rTR", "uk-rUA", "zh-rCN", "zh-rTW"] \ No newline at end of file diff --git a/v2.8.0/lt-rLT/index.html b/v2.8.0/lt-rLT/index.html deleted file mode 100644 index 0541e8c7a5..0000000000 --- a/v2.8.0/lt-rLT/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Aprašymas
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/lt-rLT/user/android-auto.html b/v2.8.0/lt-rLT/user/android-auto.html deleted file mode 100644 index dcd9fdd263..0000000000 --- a/v2.8.0/lt-rLT/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/lt-rLT/user/app-functions.html b/v2.8.0/lt-rLT/user/app-functions.html deleted file mode 100644 index 915a39758f..0000000000 --- a/v2.8.0/lt-rLT/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/lt-rLT/user/connections.html b/v2.8.0/lt-rLT/user/connections.html deleted file mode 100644 index 0d19446ac1..0000000000 --- a/v2.8.0/lt-rLT/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Aprašymas
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Atsijungta No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/lt-rLT/user/debug-logs.html b/v2.8.0/lt-rLT/user/debug-logs.html deleted file mode 100644 index 740c73a810..0000000000 --- a/v2.8.0/lt-rLT/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/lt-rLT/user/desktop.html b/v2.8.0/lt-rLT/user/desktop.html deleted file mode 100644 index a906c6b1ec..0000000000 --- a/v2.8.0/lt-rLT/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/lt-rLT/user/discovery.html b/v2.8.0/lt-rLT/user/discovery.html deleted file mode 100644 index b1565be860..0000000000 --- a/v2.8.0/lt-rLT/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Aprašymas
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Žinutės kelias

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/lt-rLT/user/firmware.html b/v2.8.0/lt-rLT/user/firmware.html deleted file mode 100644 index e30134a7ea..0000000000 --- a/v2.8.0/lt-rLT/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanalas Aprašymas
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/lt-rLT/user/help-and-docs.html b/v2.8.0/lt-rLT/user/help-and-docs.html deleted file mode 100644 index 2c6e48296c..0000000000 --- a/v2.8.0/lt-rLT/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/lt-rLT/user/map-and-waypoints.html b/v2.8.0/lt-rLT/user/map-and-waypoints.html deleted file mode 100644 index 57dfa99bf6..0000000000 --- a/v2.8.0/lt-rLT/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Aprašymas
Pavadinimas Short identifier (max 29 characters)
Aprašymas Optional longer description
Icon Visual marker emoji on the map
Užrakintas If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/lt-rLT/user/messages-and-channels.html b/v2.8.0/lt-rLT/user/messages-and-channels.html deleted file mode 100644 index e230a5961d..0000000000 --- a/v2.8.0/lt-rLT/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Aprašymas
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Klaida Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Klaida Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Baigėsi laikas No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Nėra sąsajos No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Nėra kanalo The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Bloga užklausa Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/lt-rLT/user/mqtt.html b/v2.8.0/lt-rLT/user/mqtt.html deleted file mode 100644 index 044a795914..0000000000 --- a/v2.8.0/lt-rLT/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Aprašymas Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Aprašymas
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Aprašymas Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/lt-rLT/user/node-metrics.html b/v2.8.0/lt-rLT/user/node-metrics.html deleted file mode 100644 index 51f310bd9d..0000000000 --- a/v2.8.0/lt-rLT/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Aprašymas
Battery Level Current battery percentage
Voltage Battery voltage reading
Kanalo panaudojimas Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatūra BME280, BME680, SHT31
Drėgmė BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Aprašymas
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Geras < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Raudona
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Aprašymas
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Geras SNR above the preset’s limit
Pakankamas less than 5.5 dB below the limit
Silpnas 5.5 dB to 7.5 dB below the limit
Nėra more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Aprašymas
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Žinutės kelias

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Pozicijos duomenų žurnalas

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/lt-rLT/user/nodes.html b/v2.8.0/lt-rLT/user/nodes.html deleted file mode 100644 index f5ca236247..0000000000 --- a/v2.8.0/lt-rLT/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Aprašymas
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtras Aprašymas
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Aprašymas
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Seniausiai girdėtas Last heard
Atstumas Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/lt-rLT/user/onboarding.html b/v2.8.0/lt-rLT/user/onboarding.html deleted file mode 100644 index 15eb305d91..0000000000 --- a/v2.8.0/lt-rLT/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/lt-rLT/user/settings-module-admin.html b/v2.8.0/lt-rLT/user/settings-module-admin.html deleted file mode 100644 index 21dd5555c6..0000000000 --- a/v2.8.0/lt-rLT/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Aprašymas
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Aprašymas
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Aprašymas
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Aprašymas
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Aprašymas
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Aprašymas
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Aprašymas
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Aprašymas
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Aprašymas
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Aprašymas
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Aprašymas
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Aprašymas
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Aprašymas
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administravimas

Nuotolinis administravimas

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Perkrauti

Remotely reboot a connected or administered node.

Derinimo skydelis

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/lt-rLT/user/settings-radio-user.html b/v2.8.0/lt-rLT/user/settings-radio-user.html deleted file mode 100644 index cba6cb14e0..0000000000 --- a/v2.8.0/lt-rLT/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Aprašymas
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Aprašymas Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Aprašymas Default
Regionas Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Aprašymas
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Aprašymas
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Aprašymas
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Aprašymas
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Aprašymas
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Aprašymas
Viešasis raktas Your node’s public key (read-only)
Admin Key Key for remote administration
Privatus raktas Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/lt-rLT/user/signal-meter.html b/v2.8.0/lt-rLT/user/signal-meter.html deleted file mode 100644 index f3df81e1ce..0000000000 --- a/v2.8.0/lt-rLT/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Geras 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Pakankamas 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Silpnas 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Nėra 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/lt-rLT/user/tak.html b/v2.8.0/lt-rLT/user/tak.html deleted file mode 100644 index 8bb72541ae..0000000000 --- a/v2.8.0/lt-rLT/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Aprašymas
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Aprašymas
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Aprašymas
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/lt-rLT/user/telemetry-and-sensors.html b/v2.8.0/lt-rLT/user/telemetry-and-sensors.html deleted file mode 100644 index d02d17a115..0000000000 --- a/v2.8.0/lt-rLT/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Aprašymas Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Kanalo panaudojimas % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatūra Drėgmė Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Aprašymas
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Aprašymas
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/lt-rLT/user/translate.html b/v2.8.0/lt-rLT/user/translate.html deleted file mode 100644 index a7e56eee20..0000000000 --- a/v2.8.0/lt-rLT/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/lt-rLT/user/units-and-locale.html b/v2.8.0/lt-rLT/user/units-and-locale.html deleted file mode 100644 index 8382836590..0000000000 --- a/v2.8.0/lt-rLT/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatūra

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/lt-rLT/user/widget.html b/v2.8.0/lt-rLT/user/widget.html deleted file mode 100644 index a706efe78d..0000000000 --- a/v2.8.0/lt-rLT/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Lietuvių
Meshtastic Docs ↗

🌐 Lietuvių — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/nl-rNL/index.html b/v2.8.0/nl-rNL/index.html deleted file mode 100644 index 1ef427b766..0000000000 --- a/v2.8.0/nl-rNL/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Beschrijving
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/nl-rNL/user/android-auto.html b/v2.8.0/nl-rNL/user/android-auto.html deleted file mode 100644 index 0c4f1222cb..0000000000 --- a/v2.8.0/nl-rNL/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Berichten

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/nl-rNL/user/app-functions.html b/v2.8.0/nl-rNL/user/app-functions.html deleted file mode 100644 index abbe95322e..0000000000 --- a/v2.8.0/nl-rNL/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/nl-rNL/user/connections.html b/v2.8.0/nl-rNL/user/connections.html deleted file mode 100644 index 14f63dfdad..0000000000 --- a/v2.8.0/nl-rNL/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Beschrijving
🟢 Verbonden Active radio link established
🟡 Bezig met verbinden Handshake in progress
🔴 Niet verbonden No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/nl-rNL/user/debug-logs.html b/v2.8.0/nl-rNL/user/debug-logs.html deleted file mode 100644 index f5ca2b1fd4..0000000000 --- a/v2.8.0/nl-rNL/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/nl-rNL/user/desktop.html b/v2.8.0/nl-rNL/user/desktop.html deleted file mode 100644 index 9ce0ae3e19..0000000000 --- a/v2.8.0/nl-rNL/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Kaart ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Instellingen ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/nl-rNL/user/discovery.html b/v2.8.0/nl-rNL/user/discovery.html deleted file mode 100644 index 9878e87004..0000000000 --- a/v2.8.0/nl-rNL/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Beschrijving
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/nl-rNL/user/firmware.html b/v2.8.0/nl-rNL/user/firmware.html deleted file mode 100644 index 8af70e10d8..0000000000 --- a/v2.8.0/nl-rNL/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanaal Beschrijving
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/nl-rNL/user/help-and-docs.html b/v2.8.0/nl-rNL/user/help-and-docs.html deleted file mode 100644 index 7a27f9aec2..0000000000 --- a/v2.8.0/nl-rNL/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/nl-rNL/user/map-and-waypoints.html b/v2.8.0/nl-rNL/user/map-and-waypoints.html deleted file mode 100644 index afdced338b..0000000000 --- a/v2.8.0/nl-rNL/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Beschrijving
Naam Short identifier (max 29 characters)
Beschrijving Optional longer description
Icon Visual marker emoji on the map
Vergrendeld If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/nl-rNL/user/messages-and-channels.html b/v2.8.0/nl-rNL/user/messages-and-channels.html deleted file mode 100644 index a42352fbbe..0000000000 --- a/v2.8.0/nl-rNL/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanalen

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Beschrijving
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Foutmelding Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Foutmelding Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Time-Out No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Geen Interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Geen Kanaal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Ongeldige aanvraag Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/nl-rNL/user/mqtt.html b/v2.8.0/nl-rNL/user/mqtt.html deleted file mode 100644 index a5ecfb2481..0000000000 --- a/v2.8.0/nl-rNL/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Beschrijving Standaard
Server Address MQTT broker hostname mqtt.meshtastic.org
Gebruikersnaam Broker authentication meshdev
Wachtwoord Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Beschrijving
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Beschrijving Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/nl-rNL/user/node-metrics.html b/v2.8.0/nl-rNL/user/node-metrics.html deleted file mode 100644 index 3a623dcc14..0000000000 --- a/v2.8.0/nl-rNL/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Beschrijving
Battery Level Current battery percentage
Spanning Battery voltage reading
Kanaalgebruik Percentage of airtime consumed
Airtime Transmission time used by this node
Tijd online Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatuur BME280, BME680, SHT31
Vochtigheid BME280, BME680, SHT31
Luchtdruk BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Beschrijving
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Goed < 1000 Groen
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Rood
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Beschrijving
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Goed SNR above the preset’s limit
Matig less than 5.5 dB below the limit
Slecht 5.5 dB to 7.5 dB below the limit
Geen more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Beschrijving
Bus Voltage Supply voltage
Huidige Power draw in milliamps
Vermogen Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Positie Logboek

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/nl-rNL/user/nodes.html b/v2.8.0/nl-rNL/user/nodes.html deleted file mode 100644 index 1255ebb62c..0000000000 --- a/v2.8.0/nl-rNL/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Functie Beschrijving
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Beschrijving
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Beschrijving
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Laatst gehoord Last heard
Afstand Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/nl-rNL/user/onboarding.html b/v2.8.0/nl-rNL/user/onboarding.html deleted file mode 100644 index 39cfbea3ab..0000000000 --- a/v2.8.0/nl-rNL/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/nl-rNL/user/settings-module-admin.html b/v2.8.0/nl-rNL/user/settings-module-admin.html deleted file mode 100644 index e54038d4e5..0000000000 --- a/v2.8.0/nl-rNL/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Beschrijving
Enabled Toggle MQTT bridge
Server MQTT broker address
Gebruikersnaam Authentication username
Wachtwoord Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Beschrijving
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Beschrijving
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Beschrijving
Enabled Activate store and forward
Hartslag Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Beschrijving
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Beschrijving
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Beschrijving
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Berichten Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Beschrijving
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Beschrijving
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Beschrijving
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Beschrijving
LED State Turn the LED on or off
Huidige LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Beschrijving
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Beschrijving
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Beheer

Extern beheer

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Herstart

Remotely reboot a connected or administered node.

Debug-paneel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/nl-rNL/user/settings-radio-user.html b/v2.8.0/nl-rNL/user/settings-radio-user.html deleted file mode 100644 index 15ee4ead7a..0000000000 --- a/v2.8.0/nl-rNL/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Beschrijving
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Apparaat Configuratie

Setting Beschrijving Standaard
Functie Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages Alles
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Configuratie

Setting Beschrijving Standaard
Regio Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Weergave Configuratie

Setting Beschrijving
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Positie Configuratie

Setting Beschrijving
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Energie configuratie

Setting Beschrijving
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Netwerkconfiguratie

Setting Beschrijving
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Configuratie

Setting Beschrijving
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Vaste PIN PIN code for pairing (default: 123456)

Beveiligings Configuratie

Setting Beschrijving
Publieke sleutel Your node’s public key (read-only)
Admin Sleutel Key for remote administration
Privésleutel Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Beheerde modus Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/nl-rNL/user/signal-meter.html b/v2.8.0/nl-rNL/user/signal-meter.html deleted file mode 100644 index cdae707333..0000000000 --- a/v2.8.0/nl-rNL/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Goed 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Matig 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Slecht 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Geen 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/nl-rNL/user/tak.html b/v2.8.0/nl-rNL/user/tak.html deleted file mode 100644 index efb810ba2e..0000000000 --- a/v2.8.0/nl-rNL/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Beschrijving
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Functie Beschrijving
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Beschrijving
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/nl-rNL/user/telemetry-and-sensors.html b/v2.8.0/nl-rNL/user/telemetry-and-sensors.html deleted file mode 100644 index 3e9325b500..0000000000 --- a/v2.8.0/nl-rNL/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Beschrijving Typical Range
Battery Level Charge percentage 0–100%
Spanning Battery voltage 3.0–4.2V (LiPo)
Kanaalgebruik % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Tijd online Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatuur Vochtigheid Druk Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Beschrijving
Bus Voltage Supply rail voltage
Huidige Power consumption (mA)
Vermogen Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Beschrijving
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/nl-rNL/user/translate.html b/v2.8.0/nl-rNL/user/translate.html deleted file mode 100644 index 45991d36a1..0000000000 --- a/v2.8.0/nl-rNL/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/nl-rNL/user/units-and-locale.html b/v2.8.0/nl-rNL/user/units-and-locale.html deleted file mode 100644 index 7856a73f54..0000000000 --- a/v2.8.0/nl-rNL/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatuur

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Straling μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/nl-rNL/user/widget.html b/v2.8.0/nl-rNL/user/widget.html deleted file mode 100644 index 893a08c6d4..0000000000 --- a/v2.8.0/nl-rNL/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Nederlands
Meshtastic Docs ↗

🌐 Nederlands — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/no-rNO/index.html b/v2.8.0/no-rNO/index.html deleted file mode 100644 index 7ddab93920..0000000000 --- a/v2.8.0/no-rNO/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Beskrivelse
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/no-rNO/user/android-auto.html b/v2.8.0/no-rNO/user/android-auto.html deleted file mode 100644 index 024bd80966..0000000000 --- a/v2.8.0/no-rNO/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/no-rNO/user/app-functions.html b/v2.8.0/no-rNO/user/app-functions.html deleted file mode 100644 index f96003a979..0000000000 --- a/v2.8.0/no-rNO/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/no-rNO/user/connections.html b/v2.8.0/no-rNO/user/connections.html deleted file mode 100644 index 3db4306789..0000000000 --- a/v2.8.0/no-rNO/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Beskrivelse
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Frakoblet No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/no-rNO/user/debug-logs.html b/v2.8.0/no-rNO/user/debug-logs.html deleted file mode 100644 index c47acda3be..0000000000 --- a/v2.8.0/no-rNO/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/no-rNO/user/desktop.html b/v2.8.0/no-rNO/user/desktop.html deleted file mode 100644 index c426fa7f75..0000000000 --- a/v2.8.0/no-rNO/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/no-rNO/user/discovery.html b/v2.8.0/no-rNO/user/discovery.html deleted file mode 100644 index a2b54a063b..0000000000 --- a/v2.8.0/no-rNO/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Beskrivelse
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/no-rNO/user/firmware.html b/v2.8.0/no-rNO/user/firmware.html deleted file mode 100644 index de35a0884d..0000000000 --- a/v2.8.0/no-rNO/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Beskrivelse
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/no-rNO/user/help-and-docs.html b/v2.8.0/no-rNO/user/help-and-docs.html deleted file mode 100644 index 7c7ec2b424..0000000000 --- a/v2.8.0/no-rNO/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/no-rNO/user/map-and-waypoints.html b/v2.8.0/no-rNO/user/map-and-waypoints.html deleted file mode 100644 index 09fe15ebbc..0000000000 --- a/v2.8.0/no-rNO/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Beskrivelse
Navn Short identifier (max 29 characters)
Beskrivelse Optional longer description
Icon Visual marker emoji on the map
Låst If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/no-rNO/user/messages-and-channels.html b/v2.8.0/no-rNO/user/messages-and-channels.html deleted file mode 100644 index 3ade634e5f..0000000000 --- a/v2.8.0/no-rNO/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Beskrivelse
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Feil Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Feil Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Tidsavbrudd No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Ingen grensesnitt No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Ingen Kanal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Ugyldig Forespørsel Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/no-rNO/user/mqtt.html b/v2.8.0/no-rNO/user/mqtt.html deleted file mode 100644 index b6aea91984..0000000000 --- a/v2.8.0/no-rNO/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Beskrivelse Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Beskrivelse
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Beskrivelse Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/no-rNO/user/node-metrics.html b/v2.8.0/no-rNO/user/node-metrics.html deleted file mode 100644 index 898ca4089b..0000000000 --- a/v2.8.0/no-rNO/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Beskrivelse
Battery Level Current battery percentage
Voltage Battery voltage reading
Kanalutnyttelse Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatur BME280, BME680, SHT31
Luftfuktighet BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Beskrivelse
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Godt < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Beskrivelse
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Godt SNR above the preset’s limit
Middelmådig less than 5.5 dB below the limit
Dårlig 5.5 dB to 7.5 dB below the limit
Ingen more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Beskrivelse
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Posisjonslogg

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/no-rNO/user/nodes.html b/v2.8.0/no-rNO/user/nodes.html deleted file mode 100644 index d6852f6389..0000000000 --- a/v2.8.0/no-rNO/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Beskrivelse
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Beskrivelse
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Beskrivelse
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Sist hørt Last heard
Distanse Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/no-rNO/user/onboarding.html b/v2.8.0/no-rNO/user/onboarding.html deleted file mode 100644 index 65d5f97460..0000000000 --- a/v2.8.0/no-rNO/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/no-rNO/user/settings-module-admin.html b/v2.8.0/no-rNO/user/settings-module-admin.html deleted file mode 100644 index dcbb11835d..0000000000 --- a/v2.8.0/no-rNO/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Beskrivelse
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Beskrivelse
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Beskrivelse
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Beskrivelse
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Beskrivelse
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Beskrivelse
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Beskrivelse
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Beskrivelse
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Beskrivelse
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Beskrivelse
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Beskrivelse
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Beskrivelse
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Beskrivelse
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administrasjon

Fjernadministrasjon

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Omstart

Remotely reboot a connected or administered node.

Feilsøkningspanel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/no-rNO/user/settings-radio-user.html b/v2.8.0/no-rNO/user/settings-radio-user.html deleted file mode 100644 index 36216d9d16..0000000000 --- a/v2.8.0/no-rNO/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Beskrivelse
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Beskrivelse Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Beskrivelse Default
Region Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Beskrivelse
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Beskrivelse
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Beskrivelse
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Beskrivelse
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Beskrivelse
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Beskrivelse
Offentlig nøkkel Your node’s public key (read-only)
Admin Key Key for remote administration
Privat nøkkel Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/no-rNO/user/signal-meter.html b/v2.8.0/no-rNO/user/signal-meter.html deleted file mode 100644 index d46024f123..0000000000 --- a/v2.8.0/no-rNO/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Godt 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Middelmådig 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Dårlig 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Ingen 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/no-rNO/user/tak.html b/v2.8.0/no-rNO/user/tak.html deleted file mode 100644 index 8199824779..0000000000 --- a/v2.8.0/no-rNO/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Beskrivelse
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Beskrivelse
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Beskrivelse
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/no-rNO/user/telemetry-and-sensors.html b/v2.8.0/no-rNO/user/telemetry-and-sensors.html deleted file mode 100644 index 46143a367a..0000000000 --- a/v2.8.0/no-rNO/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Beskrivelse Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Kanalutnyttelse % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatur Luftfuktighet Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Beskrivelse
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Beskrivelse
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/no-rNO/user/translate.html b/v2.8.0/no-rNO/user/translate.html deleted file mode 100644 index 440510f11e..0000000000 --- a/v2.8.0/no-rNO/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/no-rNO/user/units-and-locale.html b/v2.8.0/no-rNO/user/units-and-locale.html deleted file mode 100644 index 0daedeb0be..0000000000 --- a/v2.8.0/no-rNO/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatur

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/no-rNO/user/widget.html b/v2.8.0/no-rNO/user/widget.html deleted file mode 100644 index 1d9867b44d..0000000000 --- a/v2.8.0/no-rNO/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Norsk
Meshtastic Docs ↗

🌐 Norsk — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/pl-rPL/index.html b/v2.8.0/pl-rPL/index.html deleted file mode 100644 index 1dde93e9fc..0000000000 --- a/v2.8.0/pl-rPL/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Opis
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/pl-rPL/user/android-auto.html b/v2.8.0/pl-rPL/user/android-auto.html deleted file mode 100644 index beb7b2b243..0000000000 --- a/v2.8.0/pl-rPL/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Wiadomości

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Węzły

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/pl-rPL/user/app-functions.html b/v2.8.0/pl-rPL/user/app-functions.html deleted file mode 100644 index 1b7dfea761..0000000000 --- a/v2.8.0/pl-rPL/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/pl-rPL/user/connections.html b/v2.8.0/pl-rPL/user/connections.html deleted file mode 100644 index 6fbecb6dac..0000000000 --- a/v2.8.0/pl-rPL/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Opis
🟢 Połączony Active radio link established
🟡 Łączenie Handshake in progress
🔴 Rozłączono No active connection
⚪ Not configured Nie wybrano urządzenia

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/pl-rPL/user/debug-logs.html b/v2.8.0/pl-rPL/user/debug-logs.html deleted file mode 100644 index 7a5eb26d4e..0000000000 --- a/v2.8.0/pl-rPL/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/pl-rPL/user/desktop.html b/v2.8.0/pl-rPL/user/desktop.html deleted file mode 100644 index e3a430e83a..0000000000 --- a/v2.8.0/pl-rPL/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notatki
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mapa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Ustawienia ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Aktualizacja oprogramowania ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/pl-rPL/user/discovery.html b/v2.8.0/pl-rPL/user/discovery.html deleted file mode 100644 index ce6e28fa64..0000000000 --- a/v2.8.0/pl-rPL/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Opis
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Wykorzystanie kanału How busy the airwaves were during the dwell.
Czas nadawania Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Pokaż trasę

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informacje o sąsiadze

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/pl-rPL/user/firmware.html b/v2.8.0/pl-rPL/user/firmware.html deleted file mode 100644 index b5c75888e6..0000000000 --- a/v2.8.0/pl-rPL/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanał Opis
Stabilna Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/pl-rPL/user/help-and-docs.html b/v2.8.0/pl-rPL/user/help-and-docs.html deleted file mode 100644 index 3dac97edcc..0000000000 --- a/v2.8.0/pl-rPL/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/pl-rPL/user/map-and-waypoints.html b/v2.8.0/pl-rPL/user/map-and-waypoints.html deleted file mode 100644 index 2c60b5805f..0000000000 --- a/v2.8.0/pl-rPL/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Opis
Nazwa Short identifier (max 29 characters)
Opis Optional longer description
Icon Visual marker emoji on the map
Zablokowany If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Warstwy map

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/pl-rPL/user/messages-and-channels.html b/v2.8.0/pl-rPL/user/messages-and-channels.html deleted file mode 100644 index 8f0f4df7f4..0000000000 --- a/v2.8.0/pl-rPL/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanały

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Bezpieczeństwo kanału

Channels support multiple encryption levels:

Icon Security Level Opis
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Bezpośrednie Wiadomości

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Błąd Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Błąd Meaning What to Do
Brak trasy No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Limit czasu No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Brak interfejsu No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Brak kanału The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Brak odpowiedzi Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Złe żądanie Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Typ Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/pl-rPL/user/mqtt.html b/v2.8.0/pl-rPL/user/mqtt.html deleted file mode 100644 index c7aa09373a..0000000000 --- a/v2.8.0/pl-rPL/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Konfiguracja

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Opis Domyślny
Server Address MQTT broker hostname mqtt.meshtastic.org
Nazwa użytkownika Broker authentication meshdev
Hasło Broker authentication large4cats
Root Topic Base topic for messages msh
Szyfrowanie Encrypt MQTT payload Włączony
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Wyłączony
TLS Secure connection to broker Wyłączony
Map Reporting Report position to public map Wyłączony

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Opis
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Opis Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/pl-rPL/user/node-metrics.html b/v2.8.0/pl-rPL/user/node-metrics.html deleted file mode 100644 index 3ecde58888..0000000000 --- a/v2.8.0/pl-rPL/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Metryka urządzenia

Basic operating information reported by each node:

Metric Opis
Poziom naładowania baterii Current battery percentage
Napięcie Battery voltage reading
Wykorzystanie kanału Percentage of airtime consumed
Czas nadawania Transmission time used by this node
Czas pracy Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Metryki środowiskowe

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatura BME280, BME680, SHT31
Wilgotność BME280, BME680, SHT31
Ciśnienie barometryczne BME280, BMP280
Rezystancja gazu BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Opis
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
dobry < 1000 Zielony
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Czerwony
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Opis
SNR: Signal-to-Noise Ratio (higher is better)
RSSI: Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
dobry SNR above the preset’s limit
wystarczający less than 5.5 dB below the limit
słaby 5.5 dB to 7.5 dB below the limit
Brak more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Metryki zasilania

Power management telemetry (requires INA sensor or compatible hardware):

Metric Opis
Bus Voltage Supply voltage
Natężenie Power draw in milliamps
Zasilanie Calculated wattage

Pokaż trasę

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Historia pozycji

Historical position data for nodes that share their location:

  • GPS coordinates
  • Wysokość
  • Speed (if moving)
  • Timestamp for each position report

Informacje o sąsiadze

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/pl-rPL/user/nodes.html b/v2.8.0/pl-rPL/user/nodes.html deleted file mode 100644 index ea9245ed3c..0000000000 --- a/v2.8.0/pl-rPL/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Węzły | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Węzły

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Rola Opis
Klient Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Klient pasywny Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Czujnik Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Usuń węzeł

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtr Opis
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Opis
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Poziom naładowania baterii Battery
Hop count Hops
Aktywność Last heard
Odległość Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/pl-rPL/user/onboarding.html b/v2.8.0/pl-rPL/user/onboarding.html deleted file mode 100644 index 40f3f11036..0000000000 --- a/v2.8.0/pl-rPL/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/pl-rPL/user/settings-module-admin.html b/v2.8.0/pl-rPL/user/settings-module-admin.html deleted file mode 100644 index e3ec2addcf..0000000000 --- a/v2.8.0/pl-rPL/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Konfiguracja modułu

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Opis
Włączony Toggle MQTT bridge
Serwer MQTT broker address
Nazwa użytkownika Authentication username
Hasło Authentication password
Szyfrowanie Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Opis
Włączony Activate serial communication
Echo Echo received serial data back
Tryb Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Opis
Włączony Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Opis
Włączony Activate store and forward
Bicie serca Periodically announce this node’s store-and-forward capability
Wpisów Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Serwer Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Opis
Włączony Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Opis
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Opis
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Wiadomości Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Opis
Włączony Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Opis
Włączony Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Opis
Włączony Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Opis
Stan diody LED Turn the LED on or off
Natężenie LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Opis
Włączony Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Opis
Włączony Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Zarządzanie

Zdalne zarządzanie

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Wyczyść bazę węzłów

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Uruchom ponownie

Remotely reboot a connected or administered node.

Panel debugowania

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/pl-rPL/user/settings-radio-user.html b/v2.8.0/pl-rPL/user/settings-radio-user.html deleted file mode 100644 index 7f28a959a0..0000000000 --- a/v2.8.0/pl-rPL/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Opis
Długa nazwa Your display name (up to 39 characters)
Krótka nazwa 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Konfiguracja

Konfiguracja urządzenia

Setting Opis Domyślny
Rola Node behavior (Client, Router, etc.) Klient
Tryb retransmisji How the node retransmits messages Wszystkie
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Wyłączony

Konfiguracja LoRa

Setting Opis Domyślny
Region Regulatory region for frequency bands Unset (must configure)
Ustawienie modemu Speed/range tradeoff LongFast
Limit przeskoków Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Przesunięcie częstotliwości Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Prędkość SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Konfiguracja wyświetlacza

Setting Opis
Wygaszenie ekranu Time before display sleeps
Jednostki wyświetlania Metric or Imperial
Typ ekranu OLED Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Konfiguracja pozycjonowania

Setting Opis
GPS Enabled Enable/disable GPS
Interwał aktualizacji pozycji GPS How often to acquire GPS fix
Position Broadcast (s) How often to share position
Inteligentne Pozycjonowanie Enable movement-based broadcasting
Położenie stałe Use a manually set position

Konfiguracja zarządzania energią

Setting Opis
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Konfiguracja sieci

Setting Opis
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Hasło do sieci
Serwer NTP Time synchronization server
Syslog Server Remote logging server

IP address field

Konfiguracja Bluetooth

Setting Opis
Bluetooth Enabled Enable/disable BLE radio
Tryb parowania Fixed PIN, Random PIN, or No PIN
Stały PIN PIN code for pairing (default: 123456)

Konfiguracja zabezpieczeń

Setting Opis
Klucz publiczny Your node’s public key (read-only)
Klucz administratora Key for remote administration
Klucz prywatny Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Klucze zapasowe Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/pl-rPL/user/signal-meter.html b/v2.8.0/pl-rPL/user/signal-meter.html deleted file mode 100644 index ef3470a5fe..0000000000 --- a/v2.8.0/pl-rPL/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
dobry 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
wystarczający 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
słaby 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Brak 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/pl-rPL/user/tak.html b/v2.8.0/pl-rPL/user/tak.html deleted file mode 100644 index 8fbd1f5194..0000000000 --- a/v2.8.0/pl-rPL/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Konfiguracja

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Opis
Włączony Activate TAK interop
Tryb TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Rola Opis
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Opis
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/pl-rPL/user/telemetry-and-sensors.html b/v2.8.0/pl-rPL/user/telemetry-and-sensors.html deleted file mode 100644 index cb2d2f154b..0000000000 --- a/v2.8.0/pl-rPL/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Opis Typical Range
Poziom naładowania baterii Charge percentage 0–100%
Napięcie Battery voltage 3.0–4.2V (LiPo)
Wykorzystanie kanału % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Czas pracy Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Czujnik Temperatura Wilgotność Ciśnienie Notatki
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Czujnik Metric Notatki
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Czujnik Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Metryki zasilania

Nodes with INA-series power sensors can report:

Metric Opis
Bus Voltage Supply rail voltage
Natężenie Power consumption (mA)
Zasilanie Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Opis
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/pl-rPL/user/translate.html b/v2.8.0/pl-rPL/user/translate.html deleted file mode 100644 index 7543d7546e..0000000000 --- a/v2.8.0/pl-rPL/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notatki
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/pl-rPL/user/units-and-locale.html b/v2.8.0/pl-rPL/user/units-and-locale.html deleted file mode 100644 index 264469f37b..0000000000 --- a/v2.8.0/pl-rPL/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Wysokość
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Prędkość

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wiatr

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Promieniowanie μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/pl-rPL/user/widget.html b/v2.8.0/pl-rPL/user/widget.html deleted file mode 100644 index cf760bd2e4..0000000000 --- a/v2.8.0/pl-rPL/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Polski
Meshtastic Docs ↗

🌐 Polski — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/pt-rBR/index.html b/v2.8.0/pt-rBR/index.html deleted file mode 100644 index 959329b36f..0000000000 --- a/v2.8.0/pt-rBR/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descrição
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/pt-rBR/user/android-auto.html b/v2.8.0/pt-rBR/user/android-auto.html deleted file mode 100644 index e3cb80442b..0000000000 --- a/v2.8.0/pt-rBR/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Mensagens

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nós

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/pt-rBR/user/app-functions.html b/v2.8.0/pt-rBR/user/app-functions.html deleted file mode 100644 index 55431cec41..0000000000 --- a/v2.8.0/pt-rBR/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/pt-rBR/user/connections.html b/v2.8.0/pt-rBR/user/connections.html deleted file mode 100644 index 55fb50cbe8..0000000000 --- a/v2.8.0/pt-rBR/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Conexões | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Conexões

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descrição
🟢 Conectado Active radio link established
🟡 Connecting Handshake in progress
🔴 Desconectado No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/pt-rBR/user/debug-logs.html b/v2.8.0/pt-rBR/user/debug-logs.html deleted file mode 100644 index b645f02e99..0000000000 --- a/v2.8.0/pt-rBR/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/pt-rBR/user/desktop.html b/v2.8.0/pt-rBR/user/desktop.html deleted file mode 100644 index 68e0aa26f4..0000000000 --- a/v2.8.0/pt-rBR/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mapa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Configurações ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/pt-rBR/user/discovery.html b/v2.8.0/pt-rBR/user/discovery.html deleted file mode 100644 index 98c5f6f409..0000000000 --- a/v2.8.0/pt-rBR/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descrição
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traçar rota

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informações do Vizinho

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/pt-rBR/user/firmware.html b/v2.8.0/pt-rBR/user/firmware.html deleted file mode 100644 index 099f16e648..0000000000 --- a/v2.8.0/pt-rBR/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canal Descrição
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/pt-rBR/user/help-and-docs.html b/v2.8.0/pt-rBR/user/help-and-docs.html deleted file mode 100644 index 1597cbe9a6..0000000000 --- a/v2.8.0/pt-rBR/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/pt-rBR/user/map-and-waypoints.html b/v2.8.0/pt-rBR/user/map-and-waypoints.html deleted file mode 100644 index 6409cc80a7..0000000000 --- a/v2.8.0/pt-rBR/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descrição
Nome Short identifier (max 29 characters)
Descrição Optional longer description
Icon Visual marker emoji on the map
Bloqueado If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Camadas do Mapa

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/pt-rBR/user/messages-and-channels.html b/v2.8.0/pt-rBR/user/messages-and-channels.html deleted file mode 100644 index a075b05d23..0000000000 --- a/v2.8.0/pt-rBR/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Canais

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Segurança do Canal

Channels support multiple encryption levels:

Icon Security Level Descrição
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Erro Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Erro Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Tempo esgotado No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Sem interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Nenhum canal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Requisição Inválida Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tipo Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/pt-rBR/user/mqtt.html b/v2.8.0/pt-rBR/user/mqtt.html deleted file mode 100644 index 8cc15f1d89..0000000000 --- a/v2.8.0/pt-rBR/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Descrição Padrão
Server Address MQTT broker hostname mqtt.meshtastic.org
Nome de usuário Broker authentication meshdev
Senha Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descrição
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descrição Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/pt-rBR/user/node-metrics.html b/v2.8.0/pt-rBR/user/node-metrics.html deleted file mode 100644 index 022522582c..0000000000 --- a/v2.8.0/pt-rBR/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Descrição
Battery Level Current battery percentage
Voltagem Battery voltage reading
Utilização do Canal Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatura BME280, BME680, SHT31
Umidade BME280, BME680, SHT31
Pressão Barométrica BME280, BMP280
Resistência ao gás BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Descrição
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bom < 1000 Verde
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Vermelho
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Descrição
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bom SNR above the preset’s limit
Média less than 5.5 dB below the limit
Ruim 5.5 dB to 7.5 dB below the limit
Nenhum more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Descrição
Bus Voltage Supply voltage
Atual Power draw in milliamps
Energia Calculated wattage

Traçar rota

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Log de Posição

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Informações do Vizinho

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/pt-rBR/user/nodes.html b/v2.8.0/pt-rBR/user/nodes.html deleted file mode 100644 index 70c721b007..0000000000 --- a/v2.8.0/pt-rBR/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nós | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Nós

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Função Descrição
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtro Descrição
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descrição
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Visto pela última vez Last heard
Distância Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/pt-rBR/user/onboarding.html b/v2.8.0/pt-rBR/user/onboarding.html deleted file mode 100644 index 0e8c21fabb..0000000000 --- a/v2.8.0/pt-rBR/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/pt-rBR/user/settings-module-admin.html b/v2.8.0/pt-rBR/user/settings-module-admin.html deleted file mode 100644 index 14e06b3245..0000000000 --- a/v2.8.0/pt-rBR/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Descrição
Enabled Toggle MQTT bridge
Servidor MQTT broker address
Nome de usuário Authentication username
Senha Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Descrição
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Descrição
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Descrição
Enabled Activate store and forward
Batimento Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Servidor Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Descrição
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Descrição
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Descrição
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Mensagens Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Descrição
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Descrição
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Descrição
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Descrição
LED State Turn the LED on or off
Atual LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Descrição
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Descrição
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administração

Administração Remota

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Limpar Banco de Dados de Nó

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reiniciar

Remotely reboot a connected or administered node.

Painel de depuração

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/pt-rBR/user/settings-radio-user.html b/v2.8.0/pt-rBR/user/settings-radio-user.html deleted file mode 100644 index 198d5819bf..0000000000 --- a/v2.8.0/pt-rBR/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Descrição
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Configuração do Dispositivo

Setting Descrição Padrão
Função Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Configuração do LoRa

Setting Descrição Padrão
Região Regulatory region for frequency bands Unset (must configure)
Predefinição do Modem Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Velocidade SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Configuração da Tela

Setting Descrição
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Configuração da Posição

Setting Descrição
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Configuração de Energia

Setting Descrição
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Configuração de Rede

Setting Descrição
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Configuração do Bluetooth

Setting Descrição
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
PIN fixo PIN code for pairing (default: 123456)

Configurações de Segurança

Setting Descrição
Chave Publica Your node’s public key (read-only)
Chave do Administrador Key for remote administration
Chave Privada Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Modo Administrado Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/pt-rBR/user/signal-meter.html b/v2.8.0/pt-rBR/user/signal-meter.html deleted file mode 100644 index a62d9a68c1..0000000000 --- a/v2.8.0/pt-rBR/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bom 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Média 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Ruim 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Nenhum 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/pt-rBR/user/tak.html b/v2.8.0/pt-rBR/user/tak.html deleted file mode 100644 index 9dd9402f18..0000000000 --- a/v2.8.0/pt-rBR/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Descrição
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Função Descrição
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Descrição
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/pt-rBR/user/telemetry-and-sensors.html b/v2.8.0/pt-rBR/user/telemetry-and-sensors.html deleted file mode 100644 index d3398c8816..0000000000 --- a/v2.8.0/pt-rBR/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Descrição Typical Range
Battery Level Charge percentage 0–100%
Voltagem Battery voltage 3.0–4.2V (LiPo)
Utilização do Canal % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatura Umidade Pressão Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Descrição
Bus Voltage Supply rail voltage
Atual Power consumption (mA)
Energia Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Descrição
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/pt-rBR/user/translate.html b/v2.8.0/pt-rBR/user/translate.html deleted file mode 100644 index b0e59c5d69..0000000000 --- a/v2.8.0/pt-rBR/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/pt-rBR/user/units-and-locale.html b/v2.8.0/pt-rBR/user/units-and-locale.html deleted file mode 100644 index 7e78031f28..0000000000 --- a/v2.8.0/pt-rBR/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Velocidade

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Vento

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiação μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/pt-rBR/user/widget.html b/v2.8.0/pt-rBR/user/widget.html deleted file mode 100644 index dd3fd8f0cf..0000000000 --- a/v2.8.0/pt-rBR/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português (Brasil)
Meshtastic Docs ↗

🌐 Português (Brasil) — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/pt-rPT/index.html b/v2.8.0/pt-rPT/index.html deleted file mode 100644 index ed51d5936f..0000000000 --- a/v2.8.0/pt-rPT/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descrição
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/pt-rPT/user/android-auto.html b/v2.8.0/pt-rPT/user/android-auto.html deleted file mode 100644 index 51a2f71f09..0000000000 --- a/v2.8.0/pt-rPT/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Mensagens

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/pt-rPT/user/app-functions.html b/v2.8.0/pt-rPT/user/app-functions.html deleted file mode 100644 index e4069ac157..0000000000 --- a/v2.8.0/pt-rPT/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/pt-rPT/user/connections.html b/v2.8.0/pt-rPT/user/connections.html deleted file mode 100644 index b94879383c..0000000000 --- a/v2.8.0/pt-rPT/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Ligações | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Ligações

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descrição
🟢 Ligado Active radio link established
🟡 A ligar Handshake in progress
🔴 Desconectado No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/pt-rPT/user/debug-logs.html b/v2.8.0/pt-rPT/user/debug-logs.html deleted file mode 100644 index 56f092805b..0000000000 --- a/v2.8.0/pt-rPT/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/pt-rPT/user/desktop.html b/v2.8.0/pt-rPT/user/desktop.html deleted file mode 100644 index 40c2e8b4db..0000000000 --- a/v2.8.0/pt-rPT/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mapa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Definições ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/pt-rPT/user/discovery.html b/v2.8.0/pt-rPT/user/discovery.html deleted file mode 100644 index c649fd6c09..0000000000 --- a/v2.8.0/pt-rPT/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descrição
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traçar rota

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informações da vizinhança

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/pt-rPT/user/firmware.html b/v2.8.0/pt-rPT/user/firmware.html deleted file mode 100644 index 5f87dfa945..0000000000 --- a/v2.8.0/pt-rPT/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canal Descrição
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/pt-rPT/user/help-and-docs.html b/v2.8.0/pt-rPT/user/help-and-docs.html deleted file mode 100644 index 60b2aeb19c..0000000000 --- a/v2.8.0/pt-rPT/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/pt-rPT/user/map-and-waypoints.html b/v2.8.0/pt-rPT/user/map-and-waypoints.html deleted file mode 100644 index 5ca900a406..0000000000 --- a/v2.8.0/pt-rPT/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descrição
Nome Short identifier (max 29 characters)
Descrição Optional longer description
Icon Visual marker emoji on the map
Bloqueado If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/pt-rPT/user/messages-and-channels.html b/v2.8.0/pt-rPT/user/messages-and-channels.html deleted file mode 100644 index 3cef947f78..0000000000 --- a/v2.8.0/pt-rPT/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Canal

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Descrição
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Erros Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Erros Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Sem interface No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Sem canal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Pedido Inválido Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tipo Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/pt-rPT/user/mqtt.html b/v2.8.0/pt-rPT/user/mqtt.html deleted file mode 100644 index d5fe1197f4..0000000000 --- a/v2.8.0/pt-rPT/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuração

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Descrição Predefinição
Server Address MQTT broker hostname mqtt.meshtastic.org
Utilizador Broker authentication meshdev
Palavra-passe Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descrição
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descrição Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/pt-rPT/user/node-metrics.html b/v2.8.0/pt-rPT/user/node-metrics.html deleted file mode 100644 index 0e6fbe6afd..0000000000 --- a/v2.8.0/pt-rPT/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Descrição
Battery Level Current battery percentage
Voltagem Battery voltage reading
Utilização do canal Percentage of airtime consumed
Airtime Transmission time used by this node
Tempo ativo Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatura BME280, BME680, SHT31
Humidade BME280, BME680, SHT31
Pressão atmosférica BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Descrição
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bom < 1000 Verde
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Vermelho
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Descrição
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bom SNR above the preset’s limit
Razoável less than 5.5 dB below the limit
Mau 5.5 dB to 7.5 dB below the limit
Nenhum more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Descrição
Bus Voltage Supply voltage
Atual Power draw in milliamps
Energia Calculated wattage

Traçar rota

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Histórico de posição

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Informações da vizinhança

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/pt-rPT/user/nodes.html b/v2.8.0/pt-rPT/user/nodes.html deleted file mode 100644 index 5cc42c3ad8..0000000000 --- a/v2.8.0/pt-rPT/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Papel Descrição
Cliente Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Cliente silenciado Receives but doesn’t retransmit
Cliente oculto Like Client Mute, plus hides from node list
Roteador Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Monitor Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK — ‘Kit’ de Consciencialização da Equipa Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtrar Descrição
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descrição
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Último recebido Last heard
Distância Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/pt-rPT/user/onboarding.html b/v2.8.0/pt-rPT/user/onboarding.html deleted file mode 100644 index e293c4365f..0000000000 --- a/v2.8.0/pt-rPT/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/pt-rPT/user/settings-module-admin.html b/v2.8.0/pt-rPT/user/settings-module-admin.html deleted file mode 100644 index a9c824e871..0000000000 --- a/v2.8.0/pt-rPT/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Descrição
Enabled Toggle MQTT bridge
Servidor MQTT broker address
Utilizador Authentication username
Palavra-passe Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Descrição
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Descrição
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Descrição
Enabled Activate store and forward
Batimento Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Servidor Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Descrição
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Descrição
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Descrição
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Mensagens Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Descrição
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Descrição
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Descrição
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Descrição
LED State Turn the LED on or off
Atual LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Descrição
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Descrição
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administração

Administração Remota

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reiniciar

Remotely reboot a connected or administered node.

Painel de depuração

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/pt-rPT/user/settings-radio-user.html b/v2.8.0/pt-rPT/user/settings-radio-user.html deleted file mode 100644 index ca1b6773fc..0000000000 --- a/v2.8.0/pt-rPT/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Descrição
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuração

Configuração do Dispositivo

Setting Descrição Predefinição
Papel Node behavior (Client, Router, etc.) Cliente
Rebroadcast Mode How the node retransmits messages Tudo
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Configuração de LoRa

Setting Descrição Predefinição
Região Regulatory region for frequency bands Unset (must configure)
Predefinição de modem Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Configuração do Ecrã

Setting Descrição
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Configuração da posição

Setting Descrição
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Posição Inteligente Enable movement-based broadcasting
Posição fixa Use a manually set position

Configuração de Energia

Setting Descrição
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Configuração de Rede

Setting Descrição
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Configuração de Bluetooth

Setting Descrição
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
PIN fixo PIN code for pairing (default: 123456)

Configuração de Segurança

Setting Descrição
Chave pública Your node’s public key (read-only)
Chave do Administrador Key for remote administration
Chave privada Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Modo Administrado Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/pt-rPT/user/signal-meter.html b/v2.8.0/pt-rPT/user/signal-meter.html deleted file mode 100644 index f7f36f86f7..0000000000 --- a/v2.8.0/pt-rPT/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bom 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Razoável 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Mau 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Nenhum 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/pt-rPT/user/tak.html b/v2.8.0/pt-rPT/user/tak.html deleted file mode 100644 index 806ff107bc..0000000000 --- a/v2.8.0/pt-rPT/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuração

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Descrição
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Papel Descrição
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Descrição
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/pt-rPT/user/telemetry-and-sensors.html b/v2.8.0/pt-rPT/user/telemetry-and-sensors.html deleted file mode 100644 index d083aee7cf..0000000000 --- a/v2.8.0/pt-rPT/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Descrição Typical Range
Battery Level Charge percentage 0–100%
Voltagem Battery voltage 3.0–4.2V (LiPo)
Utilização do canal % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Tempo ativo Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatura Humidade Pressão Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Descrição
Bus Voltage Supply rail voltage
Atual Power consumption (mA)
Energia Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Descrição
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/pt-rPT/user/translate.html b/v2.8.0/pt-rPT/user/translate.html deleted file mode 100644 index 400eba0838..0000000000 --- a/v2.8.0/pt-rPT/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/pt-rPT/user/units-and-locale.html b/v2.8.0/pt-rPT/user/units-and-locale.html deleted file mode 100644 index 85ca74023b..0000000000 --- a/v2.8.0/pt-rPT/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Vento

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiação μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/pt-rPT/user/widget.html b/v2.8.0/pt-rPT/user/widget.html deleted file mode 100644 index b722fed923..0000000000 --- a/v2.8.0/pt-rPT/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Português
Meshtastic Docs ↗

🌐 Português — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/redirects.json b/v2.8.0/redirects.json deleted file mode 100644 index 9e26dfeeb6..0000000000 --- a/v2.8.0/redirects.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/v2.8.0/ro-rRO/index.html b/v2.8.0/ro-rRO/index.html deleted file mode 100644 index b5acff25af..0000000000 --- a/v2.8.0/ro-rRO/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Descriere
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/ro-rRO/user/android-auto.html b/v2.8.0/ro-rRO/user/android-auto.html deleted file mode 100644 index 6ced58d5fd..0000000000 --- a/v2.8.0/ro-rRO/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Mesaje

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Noduri

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/ro-rRO/user/app-functions.html b/v2.8.0/ro-rRO/user/app-functions.html deleted file mode 100644 index 8560cc7398..0000000000 --- a/v2.8.0/ro-rRO/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/ro-rRO/user/connections.html b/v2.8.0/ro-rRO/user/connections.html deleted file mode 100644 index edf8ff77cd..0000000000 --- a/v2.8.0/ro-rRO/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Descriere
🟢 Conectat Active radio link established
🟡 Conectare Handshake in progress
🔴 Deconectat No active connection
⚪ Not configured Nici un dispozitiv selectat

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/ro-rRO/user/debug-logs.html b/v2.8.0/ro-rRO/user/debug-logs.html deleted file mode 100644 index 57cb020da7..0000000000 --- a/v2.8.0/ro-rRO/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/ro-rRO/user/desktop.html b/v2.8.0/ro-rRO/user/desktop.html deleted file mode 100644 index c7a4da4d5b..0000000000 --- a/v2.8.0/ro-rRO/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notițe
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Setări ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Actualizare firmware ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/ro-rRO/user/discovery.html b/v2.8.0/ro-rRO/user/discovery.html deleted file mode 100644 index 87abf07fe5..0000000000 --- a/v2.8.0/ro-rRO/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Descoperiți | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Descoperiți

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Descriere
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Trasare traseu

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informații vecin

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/ro-rRO/user/firmware.html b/v2.8.0/ro-rRO/user/firmware.html deleted file mode 100644 index 190a2c6e89..0000000000 --- a/v2.8.0/ro-rRO/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Canal Descriere
Stabil Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Fișier local Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/ro-rRO/user/help-and-docs.html b/v2.8.0/ro-rRO/user/help-and-docs.html deleted file mode 100644 index 8c908f25b2..0000000000 --- a/v2.8.0/ro-rRO/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/ro-rRO/user/map-and-waypoints.html b/v2.8.0/ro-rRO/user/map-and-waypoints.html deleted file mode 100644 index a2fa5e212c..0000000000 --- a/v2.8.0/ro-rRO/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Descriere
Nume Short identifier (max 29 characters)
Descriere Optional longer description
Icon Visual marker emoji on the map
Blocat If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/ro-rRO/user/messages-and-channels.html b/v2.8.0/ro-rRO/user/messages-and-channels.html deleted file mode 100644 index 581ab0a33a..0000000000 --- a/v2.8.0/ro-rRO/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Canale

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Securitate canal

Channels support multiple encryption levels:

Icon Security Level Descriere
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Livrat la Mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Rutare prin lanțul SF++… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmat pe lanțul SF++ Confirmed delivered via the SF++ chain
Eroare Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Eroare Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Expirat No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Fără interfață No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Niciun canal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Niciun raspuns Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Solicitare invalidă Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tip Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/ro-rRO/user/mqtt.html b/v2.8.0/ro-rRO/user/mqtt.html deleted file mode 100644 index b2f79d6a1a..0000000000 --- a/v2.8.0/ro-rRO/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Descriere Prestabilit
Server Address MQTT broker hostname mqtt.meshtastic.org
Nume de utilizator Broker authentication meshdev
Parolă Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Activat
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Descriere
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Descriere Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/ro-rRO/user/node-metrics.html b/v2.8.0/ro-rRO/user/node-metrics.html deleted file mode 100644 index d8f40116cf..0000000000 --- a/v2.8.0/ro-rRO/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Valori dispozitiv

Basic operating information reported by each node:

Metric Descriere
Battery Level Current battery percentage
Tensiune Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Timp de functionare Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Indicatori de mediu

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperature BME280, BME680, SHT31
Humidity BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Rezistența la gaz BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Descriere
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bun < 1000 Verde
Stuffy < 2000 Amber
Poor < 5000 Portocaliu
Unsafe < 30000 Roșu
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Descriere
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bun SNR above the preset’s limit
Acceptabil less than 5.5 dB below the limit
Slab 5.5 dB to 7.5 dB below the limit
Niciunul more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Valori putere

Power management telemetry (requires INA sensor or compatible hardware):

Metric Descriere
Bus Voltage Supply voltage
Actual Power draw in milliamps
Alimentare Calculated wattage

Trasare traseu

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitudine
  • Speed (if moving)
  • Timestamp for each position report

Informații vecin

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/ro-rRO/user/nodes.html b/v2.8.0/ro-rRO/user/nodes.html deleted file mode 100644 index e2989b4dc6..0000000000 --- a/v2.8.0/ro-rRO/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Noduri | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Noduri

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Descriere
Client Standard end-user device
Client bază Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client mut Receives but doesn’t retransmit
Client ascuns Like Client Mute, plus hides from node list
Ruter Prioritizes message forwarding; stays awake to relay
Ruter cu întârziere Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Senzor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
Tracker TAK TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtru Descriere
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Descriere
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Ultima recepție Last heard
Distanță Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/ro-rRO/user/onboarding.html b/v2.8.0/ro-rRO/user/onboarding.html deleted file mode 100644 index 71f7de2f15..0000000000 --- a/v2.8.0/ro-rRO/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/ro-rRO/user/settings-module-admin.html b/v2.8.0/ro-rRO/user/settings-module-admin.html deleted file mode 100644 index 93f5c467e9..0000000000 --- a/v2.8.0/ro-rRO/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Descriere
Activat Toggle MQTT bridge
Server MQTT broker address
Nume de utilizator Authentication username
Parolă Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Descriere
Activat Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Descriere
Activat Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Descriere
Activat Activate store and forward
Puls Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Descriere
Activat Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Descriere
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Descriere
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Mesaje Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Descriere
Activat Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Descriere
Activat Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Descriere
Activat Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Descriere
LED State Turn the LED on or off
Actual LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Descriere
Activat Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Descriere
Activat Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administrare

Administrare la distanță

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Curăță baza de date a nodurilor

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Restartează

Remotely reboot a connected or administered node.

Panou de depanare

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ro-rRO/user/settings-radio-user.html b/v2.8.0/ro-rRO/user/settings-radio-user.html deleted file mode 100644 index ac6b05d4b9..0000000000 --- a/v2.8.0/ro-rRO/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Descriere
Nume lung Your display name (up to 39 characters)
Nume scurt 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Descriere Prestabilit
Role Node behavior (Client, Router, etc.) Client
Mod de redifuzare How the node retransmits messages Toate
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Descriere Prestabilit
Regiune Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Viteza SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Descriere
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Descriere
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Poziție inteligentă Enable movement-based broadcasting
Poziție fixă Use a manually set position

Configurare Putere

Setting Descriere
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Descriere
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Configurare Bluetooth

Setting Descriere
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
PIN fix PIN code for pairing (default: 123456)

Security Config

Setting Descriere
Chei publice Your node’s public key (read-only)
Cheie Administrator Key for remote administration
Cheia privată Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Mod Gestionat Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/ro-rRO/user/signal-meter.html b/v2.8.0/ro-rRO/user/signal-meter.html deleted file mode 100644 index bac1c6a605..0000000000 --- a/v2.8.0/ro-rRO/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bun 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Acceptabil 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Slab 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Niciunul 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/ro-rRO/user/tak.html b/v2.8.0/ro-rRO/user/tak.html deleted file mode 100644 index 3a36f71983..0000000000 --- a/v2.8.0/ro-rRO/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Descriere
Activat Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Descriere
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Descriere
Culoarea echipei Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Rolul membrului Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/ro-rRO/user/telemetry-and-sensors.html b/v2.8.0/ro-rRO/user/telemetry-and-sensors.html deleted file mode 100644 index ae1373f8b1..0000000000 --- a/v2.8.0/ro-rRO/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Descriere Typical Range
Battery Level Charge percentage 0–100%
Tensiune Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Timp de functionare Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Senzor Temperature Humidity Presiune Notițe
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Senzor Metric Notițe
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Senzor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Valori putere

Nodes with INA-series power sensors can report:

Metric Descriere
Bus Voltage Supply rail voltage
Actual Power consumption (mA)
Alimentare Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Descriere
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/ro-rRO/user/translate.html b/v2.8.0/ro-rRO/user/translate.html deleted file mode 100644 index 69dbff6a1f..0000000000 --- a/v2.8.0/ro-rRO/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notițe
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/ro-rRO/user/units-and-locale.html b/v2.8.0/ro-rRO/user/units-and-locale.html deleted file mode 100644 index 0c5e0ca2e3..0000000000 --- a/v2.8.0/ro-rRO/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperature

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitudine
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Viteza

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Vânt

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiație μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/ro-rRO/user/widget.html b/v2.8.0/ro-rRO/user/widget.html deleted file mode 100644 index f94dcbe8a0..0000000000 --- a/v2.8.0/ro-rRO/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Română
Meshtastic Docs ↗

🌐 Română — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/ru-rRU/index.html b/v2.8.0/ru-rRU/index.html deleted file mode 100644 index 00a704e3cb..0000000000 --- a/v2.8.0/ru-rRU/index.html +++ /dev/null @@ -1 +0,0 @@ - Домой | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

Документация приложения Meshtastic Android

Документация для пользователей и разработчиков приложения Meshtastic на Android, ПК и iOS, работающих на KMP (Kotlin Multiplatform).

Используйте боковую панель навигации, чтобы просматривать Руководство пользователя по функциям приложения и Руководство разработчика по внесению вклада в проект.


Быстрые ссылки

Руководство Описание
Начало работы Подключите вашу первую радиостанцию и отправьте сообщение
Сообщения и Каналы Широковещательный канал, прямые сообщения, реакции и шифрование
Ноды Понимание списка узлов mesh-сети
Индикатор сигнала Как работает индикатор для измерения качества сигнала LoRa
Ед.изм. и локализация Как температуру, расстояние и время адаптировать к вашему региону
Десктопное приложение Использование настольных систем Linux, macOS и Windows
Архитектура Обзор архитектуры приложения для участников
Вклад Именование веток, рабочий процесс PR и команды проверки

Эта документация предоставляется из того же источника Markdown, который обеспечивает работу встроенного браузера Справка и документация.


diff --git a/v2.8.0/ru-rRU/user/android-auto.html b/v2.8.0/ru-rRU/user/android-auto.html deleted file mode 100644 index ae5cf1f35d..0000000000 --- a/v2.8.0/ru-rRU/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Android Auto

Meshtastic интегрируется с Android Auto, так что ты можешь оставаться на связи со своей сетью, пока едешь, не отрывая рук от руля и глаз от дороги.

⚠️ Примечание: поддержка Android Auto доступна только на Android-сборках от Google. Она не включена в сборку F-Droid и недоступна на ПК или iOS.

ℹ️ Что сегодня нового: Сборка для Google Play предоставляет только уведомления для сообщений в машине — входящие сообщения объявляются на головном устройстве, а ответ даётся через его элементы управления уведомлениями. Полная вкладка Сообщения / Ноды / Статус, описанная ниже, является бета-версией, построенной на библиотеке Android Car App (шаблонный интерфейс Google для автомобилей в настоящее время ограничен закрытыми/внутренними треками Play), поэтому он появляется только в сборках, скомпилированных с -PenableCarTemplates=true. Остальная часть этой страницы документирует бета-тестирование.

Обзор

Когда твой телефон подключен к головному устройству Android Auto (или к эмулятору Desktop Head Unit, используемому для разработки), бета-версия показывает Meshtastic как приложение для обмена сообщениями, созданное с помощью библиотеки Android Car App, с вкладочной главной страницей, оптимизированной для безопасного вождения и удобного быстрого просмотра:

  • Сообщения — недавние разговоры с возможностью чтения и ответов без рук.
  • Узлы — список нод сети с подробным просмотром каждой ноды.
  • Статус — текущий статус подключения и сети.

Приложение для машины само по себе не добавляет новое соединение. Оно использует уже существующее соединение, ноду и состояние сообщений в приложении Meshtastic, так что отображает то, к чему твой телефон уже подключен.

⚠️ Примечание: твой телефон должен быть подключен к радиостанции Meshtastic, чтобы автомобильное приложение показывало данные в реальном времени. Если приложение отключено, экран автомобиля показывает отключенное состояние.

Сообщения

Вкладка «Сообщения» показывает твои недавние разговоры. За рулём ты можешь:

  • Прослушивать сообщения вслух, чтобы не приходилось смотреть на экран.
  • Отвечай голосом или текстом с помощью кнопки ответа на своей головной панели, диктуя свой ответ без рук.

Ноды

Вкладка «Ноды» показывает список нод вашей сетки в удобном для машины формате. Выбор ноды открывает представление с подробной информацией об этой ноде. Смотри Ноды, чтобы полностью понять информацию, показанную здесь.

Статус

Вкладка «Статус» позволяет одним взглядом увидеть твоё текущее соединение и состояние сети — удобно, чтобы проверить, что ты всё ещё подключен к радиостанции, не открывая телефон.

Связанные темы

  • Сообщения и Каналы — все функции обмена сообщениями на твоём телефоне
  • Ноды — подробный список нод и информация о каждой ноде
  • Подключения — как приложение подключается к твоей радиостанции


diff --git a/v2.8.0/ru-rRU/user/app-functions.html b/v2.8.0/ru-rRU/user/app-functions.html deleted file mode 100644 index ef5499bc62..0000000000 --- a/v2.8.0/ru-rRU/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - Функции приложения | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Функции приложения

Функции приложения предоставляют возможности Meshtastic системе Android и встроенным AI-помощникам (таким как Gemini) через API функций приложения Android. С их включением помощник может находить и запускать сетевые рабочие процессы за тебя — например, отправлять сообщение или проверять статус сети — не утруждая тебя открытием приложения.

⚠️ Примечание: Функции приложения доступны только на Android-версиях от Google.

⚠️ Примечание: Это отдельно от встроенного в приложении помощника Chirpy. Функции приложения позволяют системному AI-помощнику действовать с вашей сетью; Chirpy — это голосовой помощник прямо внутри приложения Meshtastic.

Включение функций приложения

Функции приложения управляются через Настройки → Системный ИИ (на экране в приложении указано “Системный ИИ”). Экран содержит:

  • Главный переключатель с надписью “Разрешить доступ ИИ” и подзаголовком “Позволь системным ИИ-ассистентам (например, Gemini) обнаруживать и использовать функции сети”. Когда выключено, системе не доступны никакие функции.
  • Отдельный переключатель для каждой функции, чтобы включать только те возможности, которые хочешь.

Функции разделены на секцию Запись (функции, которые что-то меняют или отправляют данные в сеть) и Чтение (только возвращают информацию).

Экран функций приложения с переключателями для всех функций и отдельных функций

Функции записи

Функция Что она делает
Отправить сообщение Отправляет текстовое сообщение контакту (личное сообщение) или каналу размером до 237 байт.

Функции записи

Функция Что она возвращает
Получить состояние сети Общее состояние сети.
Получить список нод Список узлов в твоей сети.
Получить информацию о канале Информация о твоих каналах.
Получить состояние устройства Состояние подключенного радиоустройства.
Получить детали ноды Подробная информация о конкретной ноде.
Получить последние сообщения Последние сообщения из твоих разговоров.
Получить обзор непрочитанного Сводка непрочитанных сообщений.
Получить метрики сети Телеметрия и метрики твоей сети.

Приватность

🔒 Приватность: Функция Отправить сообщение позволяет помощнику отправлять сообщения в твоей сети от твоего имени. Включай только те функции, по которым ты доверяешь ассистенту. Функции чтения предоставляют ассистенту данные о ноде, сообщениях и метриках — включай только то, чем готов делиться. У каждой функции есть свой переключатель, а главный переключатель выключает их все сразу.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/connections.html b/v2.8.0/ru-rRU/user/connections.html deleted file mode 100644 index 0c02c2b6fa..0000000000 --- a/v2.8.0/ru-rRU/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Соединения | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Соединения

Meshtastic поддерживает несколько способов передачи данных между вашим телефоном/компьютером и радионодой.

Bluetooth (BLE)

Bluetooth Low Energy является наиболее распространенным методом подключения на Android.

Привязка устройства

  1. Убедитесь, что устройство Meshtastic включено и находится в режиме сопряжения.
  2. Откройте приложение и перейдите на вкладку Подключение.
  3. Нажми Сканировать Bluetooth-устройства — рядом появятся радиостанции Meshtastic.
  4. Выберите ваше устройство из списка.
  5. Примите запрос на соединение Bluetooth, если показано.

Сканирование устройств Bluetooth с обнаружением радиоустройств в списке

Используйте селектор транспорта — ряд сегментированных кнопок под карточкой подключения — для переключения между транспортами Bluetooth, Network и USB (одновременно активен только один):

Селектор транспорта

💡 Подсказка: Если ваше радио Meshtastic не отображается, проверьте, предоставлены ли разрешения на Bluetooth и геолокацию, а также не подключено ли ваше радио к другому устройству.

Статус подключения

Иконка Состояние Описание
🟢 Подключено Подключение активно
🟡 Подключение Выполняется рукопожатие
🔴 Отключено Нет активного соединения
⚪ Не настроено Устройство не выбрано

При подключении индикатор состояния показывает текущее состояние соединения:

Состояние подключения

Если устройства не найдены, приложение показывает пустое состояние с инструкциями:

Устройства не найдены

Устранение неполадок Bluetooth

  • Устройство не найдено: Выключи и снова включи Bluetooth, убедись, что включена служба определения местоположения.
  • Потеря связи: Подойди ближе к ноде; проверь наличие помех.
  • Сопряжение отклонено: Забыть устройство в настройках Bluetooth на Android и повторить попытку.

Последовательный USB

Подключения через USB предоставляют проводную альтернативу, полезную для настольных компьютеров или когда Bluetooth недоступен.

Настройка

  1. Подключи свою ноду к устройству с помощью USB-кабеля.
  2. Приложение запросит разрешение на доступ к USB — нажми Разрешить.
  3. Соединение устанавливается автоматически.

⚠️ Примечание: Для подключения USB требуется поддержка OTG на устройствах Android.

TCP/IP (Сеть)

Некоторые радиостанции Meshtastic поддерживают подключение по WiFi/Ethernet, что позволяет устанавливать TCP-соединения через локальную сеть. Сначала подключи радиоустройство к своей сети — используя его собственные настройки Wi-Fi (через веб-интерфейс прошивки или другое подключение) — затем подключайся к нему через приложение.

Подключение к сети

  1. Убедись, что радио подключено к той же локальной сети, что и твой телефон/компьютер.
  2. На экране “Подключение” выберите Network в селекторе транспорта.
  3. Выбери радиоустройство одним из двух способов:
    • Сканировать сетевые устройства — включи эту опцию чтобы автоматически обнаруживать радиоустройства, которые объявляют о себе в локальной сети (mDNS / _meshtastic._tcp). Обнаруженные устройства появляются в списке; нажми на одно, чтобы подключиться.
    • Добавить устройство вручную… — введи IP-адрес радиостанции (или имя хоста) и порт (по умолчанию: 4403).
  4. Ранее использованные сетевые адреса запоминаются в разделе Недавние сетевые устройства для быстрого повторного подключения (удерживай пальцем, чтобы удалить).

💡 Совет: Обнаружение сети использует mDNS, который работает только когда оба устройства находятся в одной подсети. На Android 17+ приложению нужно разрешение на локальную сеть для сканирования; если поиск ничего не находит, добавь устройство вручную по IP.

Когда использовать TCP

  • Радиостанция находится в той же локальной сети
  • Тестирование с использованием имитирования радиоприемника
  • Окружающая среда, где возникают помехи Bluetooth

Поведение при повторном подключении

Приложение подключается к последнему выбранному устройству при запуске. Вы можете переключать транспорт с экрана подключения в любое время.

Чтобы отключиться, нажми кнопку отключения на экране подключения:

Отключение от радиоприёмника

Подключение к компьютеру

На компьютере (Linux/macOS/Windows) приложение поддерживает:

  • Bluetooth (BLE) — через библиотеку Kable; работает на macOS, Linux и Windows
  • Последовательный USB — основной способ проводного подключения
  • TCP/IP — для радиостанций, подключенных к сети

См. десктопное приложение для информации о платформе и сочетаниях клавиш.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/debug-logs.html b/v2.8.0/ru-rRU/user/debug-logs.html deleted file mode 100644 index 666d3485ee..0000000000 --- a/v2.8.0/ru-rRU/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Отладочные журналы | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Отладочные журналы

Когда что-то работает неправильно, отладочные журналы приложения — это самое полезное, что вы можете приложить к отчёту об ошибке. Meshtastic может захватить их за вас, прямо из приложения — вам больше не нужен adb или какие-либо инструменты на компьютере для их сбора.

Откройте Панель отладки через Настройки → Дополнительно → Панель отладки.

📎 Создаёте задачу? Экспортируйте свои журналы (см. ниже) и прикрепите файл .txt к отчёту на [github.com/meshtastic/Meshtastic-Android/issues]. Захват журнала, охватывающий момент возникновения проблемы, превращает «это не работает» в то, что разработчик действительно может отследить.

Две вкладки

Панель отладки содержит две вкладки:

  • Пакеты — декодированный трафик mesh-сети, который ваше радио отправило и получило (сообщения уровня протокола). Полезно для диагностики поведения mesh-сети и маршрутизации.
  • Журналы приложения — собственный диагностический журнал приложения (Android logcat), включая предупреждения, ошибки и трассировки стека самого приложения. Обычно именно это требуется для отчёта об ошибке.

Каждая вкладка имеет собственную кнопку экспорта и создаёт отдельный файл, поэтому вы можете сохранить тот, который нужен — или сразу оба.

Просмотр журналов приложения

Вкладка Журналы приложения показывает самые последние строки журнала только из этого приложения — но не из других приложений на вашем устройстве.

  • Поиск — введите текст в поле поиска, чтобы отфильтровать строки по совпадению.
  • Фильтр по уровню — кнопки V / D / I / W / E переключают отображение строк с уровнями Verbose (Подробный), Debug (Отладка), Info (Информация), Warn (Предупреждение) и Error (Ошибка). Нажмите на уровень, чтобы скрыть его; нажмите ещё раз, чтобы вернуть обратно. Строки с фатальными ошибками отображаются всегда.
  • Обновить — значок обновления заново считывает последние записи журнала.

Строки с ошибками и предупреждениями подсвечиваются цветом, чтобы проблемы выделялись.

Экспорт

Нажмите на значок загрузки, чтобы сохранить текущие журналы в файл. Вы выбираете расположение через системное окно выбора файлов, а файл получает имя с меткой времени (например, meshtastic_logcat_20260701_143312.txt), поэтому повторные экспорты никогда не перезаписывают друг друга.

Прикрепите этот файл к своей задаче на GitHub.

🔒 Приватность: Экспорты автоматически удаляют приватные ключи, ключи администратора и сеансовые ключи доступа перед записью в файл. Ключи каналов (PSKs) не удаляются, а журналы также могут содержать имена узлов, координаты и другие идентифицирующие данные — бегло просмотрите файл перед публикацией и, если сомневаетесь, делитесь им конфиденциально.

Desktop

У компьютерного приложения нет системного logcat, поэтому вкладка Журналы приложения вместо этого показывает собственный захваченный вывод журнала приложения. Поиск, фильтрация и экспорт работают точно так же.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/desktop.html b/v2.8.0/ru-rRU/user/desktop.html deleted file mode 100644 index 5add45982c..0000000000 --- a/v2.8.0/ru-rRU/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Настольное приложение | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Настольное приложение

Настольное приложение Meshtastic использует общий код с Android через Kotlin Multiplatform. Большинство функций работают одинаково на Linux, macOS и Windows.

Установка

Linux

  • Скачайте пакет .deb или .AppImage со страницы релизов
  • Или соберите из исходного кода с помощью ./gradlew :desktopApp:run

macOS

  • Скачайте пакет .dmg из релизов
  • Или соберите из исходных кодов

Windows

  • Загрузите установщик .msi со страницы релизов
  • Или соберите из исходных кодов

Подключение твоей радиостанции

Последовательная USB (Основной)

Наиболее надежный способ подключения к компьютеру:

  1. Подключите свою радиостанцию Meshtastic через USB-кабель.
  2. Приложение должно автоматически определить последовательный порт.
  3. Если порт не определён, выберите правильный последовательный порт в меню “Подключение”.

TCP/IP

Для радиостанций, подключённых по сети:

  1. Введите IP-адрес и порт радиостанции (по умолчанию: 4403).
  2. Нажмите “Подключиться”.

Bluetooth (BLE)

Bluetooth Low Energy поддерживается в настольном приложении с помощью библиотеки Kable:

  1. Убедитесь, что ваша система оснащена Bluetooth-адаптером.
  2. Приложение автоматически сканирует находящиеся поблизости радиостанции Meshtastic.
  3. Выберите своё устройство на экране «Подключение».

Паритет функций

Функция Android Desktop Заметки
Обмен сообщениями ✓ ✓ Полное равенство
Список узлов ✓ ✓ Полное равенство
Карта ✓ ◐ Вкладка карты присутствует в настольном приложении, но интерактивный просмотр карты доступен только на Android
Настройки ✓ ✓ Полное равенство
Bluetooth (BLE) ✓ ✓ Через Kable в настольном приложении
Обновление прошивки ✓ ✓ Внутри приложенное обновление по USB, BLE и Wi-Fi (ESP32) работает так же, как на Android
Уведомления ✓ ✓ Системные уведомления
Виджеты ✓ ✗ Только Android
Android Auto ✓ ✗ Только Android — недоступно в настольном приложении или iOS
AI-ассистент (Chirpy) ✓* ✗ Только в Google-версии для Android
Функции приложения (системный ИИ) ✓† ✗ Только в Google-версии для Android

*Chirpy AI требует Android 14+ в Google-версии на поддерживаемом оборудовании.

†Функции приложения предоставляют действия приложения системному ИИ Android в Google-версии. См. Функции приложения.

Различия интерфейса

Настольное приложение использует тот же интерфейс на Compose Multiplatform с адаптациями для больших экранов и настольного взаимодействия.

Сочетания клавиш

Сочетания клавиш используют ⌘ (Command) на macOS и Ctrl на Windows и Linux. (Клавиша Super / Windows не используется.)

Сочетание Действие
⌘/Ctrl+Q Выйти из приложения
⌘/Ctrl+, Открыть настройки
⌘/Ctrl+1 Перейти во вкладку “Сообщения”
⌘/Ctrl+2 Перейти во вкладку “Узлы”
⌘/Ctrl+3 Перейти во вкладку “Карта”
⌘/Ctrl+4 Перейти во вкладку “Подключение”
⌘/Ctrl+/ Открыть “О программе”

Окно и системный трей

  • Изменение размера окна — адаптивный макет подстраивается под размеры окна
  • Системный трей — сверните в системный трей для фоновой работы mesh-сети
  • Меню трея — щёлкните правой кнопкой мыши по значку в трее, чтобы показать окно или выйти
  • Взаимодействие с мышью — состояния при наведении и стандартная настольная навигация

Настройки уведомлений

Настольное приложение предоставляет встроенные переключатели для управления отображением уведомлений: сообщения, новые узлы и предупреждения о низком заряде батареи. Доступ к ним осуществляется через Настройки → Уведомления в самом приложении.

Встроенный браузер документации

Настольное приложение включает встроенный браузер документации для быстрого доступа к справочным материалам без выхода из приложения.

Браузер документации с оглавлением

Браузер поддерживает полнотекстовый поиск по всей документации:

Поиск в браузере документации

Отдельные страницы документации отображаются с полным форматированием:

Страница документации

Сборка из исходного кода

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Требования:

  • JDK 21
  • Для сборки только настольной версии Android SDK не требуется

Известные ограничения

  • Интерактивный просмотр карты доступен только на Android — вкладка «Карта» присутствует в настольном приложении, но не отображает карту
  • Некоторые специфичные для Android функции (виджеты, отдельные каналы уведомлений) недоступны
  • Производительность может варьироваться на маломощном оборудовании при запуске Compose Desktop
  • BLE-связывание пока не поддерживается в настольном приложении (сопряжение работает без связывания)

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/discovery.html b/v2.8.0/ru-rRU/user/discovery.html deleted file mode 100644 index 76d288edb6..0000000000 --- a/v2.8.0/ru-rRU/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Обнаружение | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Обнаружение

Инструменты обнаружения помогают понять, как твоя mesh-сетевая структура соединена — какие ноды могут слышать друг друга, по каким путям проходят сообщения и где существуют узкие места или слабые звенья.

Приложение предлагает два дополнительных подхода:

  • Локальное обнаружение mesh-сети (сканер) — автоматический режим, который по очереди перебирает на твоём подключённом радио разные пресеты LoRa, слушает каждый и определяет, какой пресет лучше всего работает в твоём местоположении.
  • Ручное исследование — трассировка, информация о соседях и список нод, которые ты можешь использовать в любое время для изучения конкретных путей и топологии.

Обнаружение локальной сети (Сканер)

Локальное обнаружение mesh-сети — это специализированный режим сканирования, который помогает найти лучший пресет LoRa-модема для твоего местоположения и увидеть, какие ноды активны на каждом пресете. Он циклически переключает твоё подключённое радио между одним или несколькими выбранными тобою пресетами, слушает (или “задерживается”) на каждом заданное время для сбора пакетов, затем анализирует и ранжирует результаты.

Открой это через Настройки → Дополнительно → Локальное обнаружение сети. В приложении для ПК у него есть собственный пункт Настройки → Локальное обнаружение сети.

⚠️ Примечание: Обнаружение временно изменяет настройки LoRa твоего радио во время сканирования, а затем восстанавливает исходную конфигурацию после завершения. Твоё устройство должно быть подключено для запуска сканирования.

Настройка сканирования

Перед началом, настройте эти параметры:

Управление Описание
Выбор пресета LoRa Выберите один или несколько пресетов для сканирования. Обнаружение по очереди задерживается на каждом выбранном пресете.
Время задержки Время прослушки каждого пресета. Выбери один из вариантов: 1, 5, 15, 30, 45, 60, 90, 120 или 180 минут. Более долгое время задержки собирает больше пакетов и даёт более чёткую картину, но занимает больше времени.
Не выключать экран Дополнительный переключатель, который не даёт экрану гаснуть во время длительного сканирования.

Кнопка Старт остаётся неактивной — с объяснением причины — пока сканирование не может быть запущено. Распространённые причины, почему она отключена:

  • Устройство не подключено.
  • Не выбраны пресеты для сканирования.
  • Выбранный пресет использует частоту 2,4 ГГц, которую ваше оборудование не поддерживает.

Текущий прогресс

Во время сканирования “Обнаружение” показывает текущий этап:

Этап Что происходит
Подготовка Сохранение твоей текущей конфигурации и подготовка к сканированию.
Переключение на <preset> Переключение радио на следующий пресет для тестирования.
Переподключение Восстановление соединения после смены пресета.
Прослушивание Прослушивание текущего пресета для сбора пакетов с обратным отсчётом до следующего шага.
Анализ Обработка собранных пакетов и ранжирование пресетов.
Восстановление Возврат твоей исходной конфигурации LoRa.

Обратный отсчёт времени прослушивания, показывающий оставшееся время на текущем пресете

Чтение результатов

По завершении сканирования “Обнаружение” показывает карточку результатов для каждого протестированного пресета, а также общую сводку.

Карточка результатов по пресету с рейтингом и собранными метриками

Метрики включают:

Метрическая Что для тебя это значит
Состояние радиоэфира Общее качество радиообстановки на этом пресете.
Использование канала Насколько загруженным был эфир во время прослушивания.
Время вещания Наблюдаемое время передачи.
Прямые и ретранслированные ноды Сколько mesh-нод было услышано напрямую, а сколько через ретранслятор.
Повреждённые / повторные пакеты Количество повреждённых и повторных пакетов, указывающее на перегрузку или помехи.

Дополнительные функции, доступные из результатов:

  • История сканирования — сохранённые сеансы, которые ты можешь просмотреть снова; просматривайте или удаляйте прошлые сканирования.
  • Карта обнаружения — карта нод, найденных во время сканирования.
  • Экспорт отчёта — экспортируйте отчёт в формате PDF на Android или в виде текста на других платформах.

💡 Совет: На Android “Обнаружение” может создавать на устройстве сводку твоих результатов с помощью ИИ (Gemini Nano). Если модель на устройстве недоступна, вместо неё используется алгоритмическая сводка — так что ты всегда получаешь читаемую интерпретацию сканирования.


Маяк сети

Маяк mesh-сети позволяет нодам приглашать другие устройства присоединиться к своей сети. Нода-маяк периодически передаёт приглашение, при необходимости указывая канал, регион и пресет модема, которое ближайшие устройства могут услышать ещё до того, как получат общую конфигурацию.

Настройте его в разделе Настройки → Конфигурация модулей → Маяк mesh-сети:

  • Слушать маяки — принимать приглашения, передаваемые другими нодами.
  • Передавать маяк — отправлять собственное приглашение через заданный интервал с необязательным сообщением и предлагаемым каналом.

Полученные приглашения отображаются в виде карточек “Приглашения mesh-сети” на экране “Обнаружение”. На каждой карточке показано сообщение отправителя, а также предлагаемые канал, регион, пресет и качество сигнала, и доступны следующие действия:

  • Присоединиться — переключиться на предлагаемый канал и пресет (перенастраивает радио и перезагружает его). Если предложение совпадает с вашим текущим частотным слотом, действие “Добавить канал” добавляет его без перезагрузки.
  • Обнаружить — запустить сканирование «Обнаружения» с предложенным пресетом, чтобы ты мог изучить эту сеть перед присоединением (отображается, только если маяк передаёт пресет).
  • Отклонить — проигнорировать приглашение.

Каналы, объявленные маяками, также отображаются в настройках сканирования как Каналы маяков — выберите один, чтобы включить его в число целей сканирования.


Ручное исследование

Приведённые ниже инструменты доступны в любое время из списка нод и с экранов сведений ноде. Используйте их для исследования конкретных путей и построения картины топологии — вместе с полным сканированием или вместо него.

Трассировка маршрута

Трассировка показывает точный путь, который сообщение проходит от твоей ноды до любой другой ноды в сети. Это самый полезный инструмент для отладки проблем с подключением.

Выполнение трассировки

  1. Перейди в Ноды и коснись ноды, которую ты хочешь отследить.
  2. На экране деталей ноды нажми Трассировка.
  3. Приложение отправляет запрос трассировки и ожидает ответа.
  4. Результаты отображают каждую ноду по порядку с качеством сигнала на каждом этапе.

Чтение результатов

Результат трассировки выглядит так:

Ты → Нода A (SNR: 8.5, RSSI: -95) → Нода B (SNR: 5.2, RSSI: -108) → Цель
-

Каждый хоп представляет собой ретранслирующую ноду, которая переслала сообщение. Значения SNR и RSSI на каждой ноде говорят о качестве соединения на этом конкретном участке.

На что обращать внимание Что это значит
Все хопы показывают хороший SNR (≥ −7 дБ, зелёный цвет) Здоровый путь — сообщения идут без сбоев
Один хоп показывает плохой SNR (< −15 дБ, красный цвет) Слабое звено — этот сегмент ретрансляции хрупкий
Много хопов (4+) Длинный путь — подумай о перемещении ноды для его сокращения
Другой путь при повторе Сеть адаптируется — существуют несколько маршрутов (это хорошо!)

💡 Совет: Запусти трассировку несколько раз в течение нескольких минут. Если путь изменяется, у твоей сети есть лишние маршруты — признак хорошо связанной сети.

Устранение неполадок с трассировкой

  • '’Маршрут не найден’‘ — Целевая нода может быть оффлайн, находиться вне зоны действия или на другом канале. Проверь, что обе ноды имеют хотя бы один канал с одинаковым ключом шифрования.
  • Время ожидания трассировки истекло — путь может быть слишком длинным (превышен лимит хопов) или нода ретрансляции перегружена. Попробуй увеличить лимит хопов в Настройки → Конфигурация LoRa.
  • Асимметричные маршруты — трассировка от A→B может проходить по другому пути, чем B→A. Это нормально — распространение радиоволн не всегда симметрично.

Информация об окружении

Модуль информации о соседях позволяет каждой ноде передавать список нод, которые она может слышать напрямую (на расстоянии одного хопа). Когда несколько нод делятся своими списками соседей, ты можешь составить карту топологии всей mesh-сети.

Включение информации о соседях

  1. Перейдите в Настройки → Конфигурация модуля → Информация о соседях.
  2. Включение модуля
  3. Установите интервал передачи (по умолчанию: 900 секунд / 15 минут).

После включения твоя нода периодически передаёт свою таблицу соседей. Другие ноды с включённым модулем информации о соседях делают то же самое.

Просмотр данных соседа

  • Откройте экран сведений любой ноды и найдите раздел “Соседи”.
  • Каждая запись о соседе показывает ноду, которая была услышана напрямую, и качество её сигнала.
  • Объединяйте данные о соседях от нескольких нод, чтобы понять полную топологию mesh-сети.

⚠️ Примечание: Информация о соседях увеличивает использование эфирного времени, поскольку каждая включённая нода периодически передаёт свой список соседей. В загруженных mesh-сетях с большим количеством нод рассмотрите более длинные интервалы передачи (3600 секунд или более), чтобы избежать перегрузки.


Список узлов как инструмент для обзора

Сам по себе список нод — мощный инструмент обнаружения, если ты эффективно будешь использовать его возможности фильтрации и сортировки.

Поиск новых узлов

  • Сортируйте по “Последнему приёму”, чтобы увидеть вверху списка ноды, активные в последнее время.
  • Включите “Включая неизвестные”, чтобы увидеть ноды, которые появились в mesh-сети, но ещё не передали информацию о пользователе — часто это недавно включённые устройства.

Оценка подключения

  • Сортируйте по «Хопам», чтобы видеть, какие ноды доступны напрямую (0 хопов), а какие — через ретрансляцию.
  • Сортируйте по “Расстоянию”, чтобы найти близлежащие ноды и убедиться, что они доступны.
  • Используйте “Исключить MQTT”, чтобы сосредоточиться на нодах, доступных по радио (а не через интернет-мост).

Аудит инфраструктуры

  • Отключите “Исключить инфраструктуру”, чтобы увидеть ноды Router, Router Late и Client Base.
  • Проверьте качество их сигнала и время последнего приёма, чтобы убедиться, что твои ноды инфраструктуры работают исправно.

См. раздел Ноды для получения полной информации о параметрах фильтрации и сортировки.


Советы по исследованию сети

  • Начните с трассировки — она даёт тебе немедленную, пригодную для использования информацию о конкретном пути.
  • Включите информацию о соседях на ключевых нодах — особенно на роутерах и ретрансляторах, чтобы составить картину магистральной сети.
  • Проверьте карту — расположение нод на Карте в сочетании с данными о сигнале помогает тебе понять, почему одни соединения сильные, а другие слабые.
  • Сравнивайте сигнал с течением времени — используйте руководство по Измерителю сигнала для правильной интерпретации значений SNR и RSSI.


diff --git a/v2.8.0/ru-rRU/user/firmware.html b/v2.8.0/ru-rRU/user/firmware.html deleted file mode 100644 index 5ba491c093..0000000000 --- a/v2.8.0/ru-rRU/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Обновления прошивки | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Обновления прошивки

Поддерживайте своё радио Meshtastic в актуальном состоянии с помощью последней прошивки для получения новых функций, исправлений ошибок и улучшений безопасности.

Проверка обновлений

  1. Откройте конфигурацию подключённого радио и в разделе “Дополнительно” нажмите “Обновление прошивки”. Этот пункт появляется только для устройств, поддерживающих OTA.
  2. Приложение проверяет доступные версии прошивки.
  3. Доступные обновления показывают номер версии и сводку изменений.

Методы обновления

OTA (беспроводное обновление) через Bluetooth

Наиболее распространённый способ обновления для пользователей Android:

  1. Убедитесь, что твоё радио подключено по Bluetooth.
  2. Перейдите на экран “Обновление прошивки”.
  3. Выберите нужную версию прошивки.
  4. Нажмите “Обновить”, чтобы начать процесс OTA.
  5. Дождитесь завершения обновления — не отключайте устройство во время обновления.

Проверка обновлений прошивки

⚠️ Предупреждение: Прерывание обновления прошивки может вывести твоё устройство из строя. Убедись, что твоё радио имеет достаточный заряд батареи (рекомендуется >50%) и сохраняйте близость Bluetooth на протяжении всего процесса.

Предупреждение о прошивке

Обновление внутри приложения по USB

Когда твоё радио подключено по USB/serial (а не по Bluetooth), на экране обновления прошивки появляется опция “Передача файла по USB”. Приложение перезагружает устройство в режим DFU, а затем предлагает сохранить файл .uf2 на DFU-диск устройства с помощью системного выбора файлов. Эта опция появляется только при подключении по USB/serial — она недоступна по Bluetooth.

ℹ️ Примечание о загрузчике nRF: Некоторым устройствам (например, RAK WisBlock RAK4631) требуется прошить загрузчик с помощью фирменной последовательной утилиты DFU (такой как adafruit-nrfutil) — простое копирование .uf2 не обновит загрузчик. Приложение покажет подсказку, когда это необходимо.

Другие способы прошивки

Для восстановления или когда ни OTA, ни внутри приложение USB недоступны:

Каналы версий

Канал Описание
Стабильная Рекомендуется для большинства пользователей; протестированные релизы
Альфа Предварительные релизы; могут содержать ошибки
Локальный файл Прошить файл прошивки, который ты выбираешь сам, вместо загруженного релиза

Предполётная проверка

Перед обновлением:

  • Заряд батареи > 50%
  • Стабильное соединение Bluetooth
  • Запишите свои текущие настройки (они могут сброситься при смене мажорной версии)
  • Проверьте примечания к релизу на наличие критических изменений

После обновления

После записи прошивки приложение проверяет обновление и ждёт, пока устройство снова станет доступным:

Проверка обновления и ожидание переподключения устройства

После успешного обновления:

  • Радио перезагрузится автоматически
  • Соединение Bluetooth восстановится
  • Убедись, что твои настройки сохранились
  • Проверьте новую версию в разделе “Установленная версия” на экране обновления прошивки — она также отображается на странице сведений о ноде и на экране “Подключения”

Успешное обновление прошивки

Устранение неполадок

Обновление зависло

Если обновление кажется зависшим:

  • Подождите не менее 5 минут, прежде чем предпринимать действия
  • Если действительно зависло, перезагрузите радио выключением и включением питания
  • Попробуйте обновление снова

Ошибка обновления прошивки

Устройство не загружается после обновления

Если твоё устройство не загружается:

  1. Попробуйте подключиться по USB к компьютеру
  2. Используйте Web Flasher в режиме восстановления/DFU
  3. Прошивайте заведомо рабочую версию прошивки
  4. Обратитесь к Discord-серверу Meshtastic для получения инструкций по восстановлению, специфичных для твоего устройства

Предупреждения о совместимости

Приложение может показывать предупреждения, когда:

  • Прошивка подключённого радио ниже минимально поддерживаемой версии
  • Несовпадение мажорных версий приложения и прошивки
  • Устаревшие функции требуют миграции

⚠️ Важно: Всегда обновляйте приложение Meshtastic до или одновременно с обновлением прошивки, чтобы обеспечить совместимость.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/help-and-docs.html b/v2.8.0/ru-rRU/user/help-and-docs.html deleted file mode 100644 index 877f428055..0000000000 --- a/v2.8.0/ru-rRU/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Справка и встроенная документация | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Справка и встроенная документация

Эта же пользовательская документация поставляется внутри приложения, поэтому вы можете читать её офлайн, не покидая Meshtastic. Откройте её через Настройки → Справка и документация.

Просмотр

Браузер документации отображает список всех страниц руководства пользователя. Нажмите на страницу, чтобы прочитать её; изображения и перекрёстные ссылки работают точно так же, как здесь.

Оглавление встроенного браузера документации

Поиск

Нажмите на значок поиска и введите текст, чтобы отфильтровать страницы по названию и ключевым словам — результаты обновляются по мере твоего ввода.

Поиск во встроенной документации

Страница, открытая в браузере:

Страница документации, отображаемая в приложении

Chirpy — ИИ-ассистент

Chirpy отвечает на вопросы о Meshtastic на естественном языке, используя в качестве источника эту встроенную документацию. Нажмите кнопку Chirpy в браузере документации, введите вопрос — и он ответит, предложив ответ и ссылки на соответствующие страницы.

ИИ-ассистент Chirpy отвечает на вопрос, показывая ссылки на страницы

🔒 Приватность: На поддерживаемых устройствах Google-версии Chirpy работает на самом устройстве с помощью Gemini Nano — твои вопросы никогда не покидают твой телефон. Небольшая модель загружается при первом использовании.

⚠️ Примечание: В сборках для F-Droid, настольного приложения и iOS Chirpy переключается на поиск по ключевым словам в документации вместо генеративной модели. Если твоё устройство не поддерживает встроенный ИИ, ассистент скрыт, и ты по-прежнему можешь просматривать и искать документацию обычным способом.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/map-and-waypoints.html b/v2.8.0/ru-rRU/user/map-and-waypoints.html deleted file mode 100644 index 28f7ceb8c9..0000000000 --- a/v2.8.0/ru-rRU/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Карта и путевые точки | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Карта и путевые точки

Экран карты показывает географическое положение нод твоей mesh-сети, а также общие путевые точки.

Вид карты

На карте отображаются:

  • Расположение нод — цветные маркеры для каждой ноды, передающей свои координаты
  • Путевые точки — общие точки интереса
  • Твоё местоположение — твоё текущее местоположение по GPS

Маркеры нод

Каждая нода, передающая своё местоположение, отображается в виде маркера-бирки с коротким именем ноды. Цвет бирки определяется собственным цветом идентификации ноды (постоянным цветом, получаемым из её номера) — тем же самым, что используется в списке нод, поэтому нода везде выглядит одинаково. Цвет маркера не отображает статус в сети/не в сети. Когда местоположение ноды обновляется в реальном времени, её маркер ненадолго подсвечивается пульсацией. Близко расположенные маркеры группируются в кластеры при уменьшении масштаба.

Управление картой

  • Масштаб — используйте щипок или кнопки +/-
  • Перемещение — перетаскивайте карту для исследования
  • Центрирование — нажмите кнопку местоположения, чтобы отцентрировать карту на твоё местоположение
  • Нажатие на ноду — коснитесь маркера ноды для просмотра подробностей

Плавающая панель инструментов предоставляет быстрый доступ к компасу, переключению слоёв, фильтрам нод, обновлению и отслеживанию местоположения. Нажмите на компас, чтобы сориентировать карту на север, или нажмите кнопку местоположения, чтобы отцентрироваться на твоей текущей позиции.

Элементы управления картой

Путевые точки

Путевые точки — это общие географические точки интереса, которые видят все участники mesh-сети.

Создание путевой точки

  1. Нажмите и удерживайте карту в нужном месте.
  2. Введите имя и, при желании, описанье.
  3. Выберите значок/эмодзи для путевой точки.
  4. Нажмите “Отправить”, чтобы поделиться с mesh-сетью.

Путевые точки адресуются так же, как сообщения: по умолчанию они передаются в основном канале, но путевую точку также можно отправить на конкретном канале или как личное сообщение одной ноде.

Свойства путевой точки

Свойство Описание
Имя Короткий идентификатор (не более 29 символов)
Описание Необязательное более длинное описание
Значок Визуальный эмодзи маркер на карте
Заблокировано Если заблокировано, только создатель может изменить или удалить
Истечение срока Необязательная дата и время автоматического удаления
Геозона Необязательная зона оповещения о входе/выходе — см. ниже

Истечение срока путевой точки

Для путевых точек можно настроить автоматическое истечение срока:

  • Никогда (по умолчанию) — путевая точка остаётся, пока не будет удалена вручную
  • По времени — выберите конкретные дату и время; путевая точка будет автоматически удалена, как только это время наступит. Полезно для временных меток, таких как точки сбора, опасности или места встреч.

Истёкшие путевые точки автоматически скрываются с карты, чтобы не загромождать отображение. Обратный отсчёт до истечения срока основан на заданном тобою абсолютном времени, а не на промежутке с момента создания или получения путевой точки.

Геозоны путевых точек

Любая путевая точка может также задавать геозону — область оповещения, — чтобы ты или другие участники получали уведомления, когда нода входит в неё или покидает её:

  1. Задайте радиус геозоны с помощью готовых вариантов (или “Выкл”, чтобы отключить), либо нажмите “Задать область на карте”, чтобы нарисовать собственную прямоугольную область.
  2. После задания области включите переключатели “Оповещать при входе” и/или “Оповещать при выходе”.
  3. При необходимости включите “Только избранные”, чтобы ограничить оповещения только избранными нодами.

Поскольку путевые точки (и их геозоны) передаются всей mesh-сети, по умолчанию оповещается только создатель. Если кто-то другой поделился с вами путевой точкой с геозоной, в её подробностях отображается опция “Оповещать меня о пересечениях”, позволяющая тебе также получать оповещения о входе/выходе.

Управление путевыми точками

  • Нажмите на путевую точку на карте, чтобы просмотреть её сведения и координаты
  • Редактируйте или удаляйте созданные тобою путевые точки
  • Заблокированные путевые точки не могут быть изменены или удалены другими нодами — только создатель может их редактировать
  • Незаблокированные путевые точки может редактировать любой участник mesh-сети

Слои карты

Нажмите на значок слоёв на карте, чтобы открыть “Управление слоями карты”, где можно импортировать собственные слои в формате .kml, .kmz или GeoJSON — либо открыв файл с помощью Meshtastic, либо передав его в приложение из другой программы. Импортированные слои отображаются в списке с переключателем для показа/скрытия каждого и возможностью удалить слой. Доступно как в Google Play, так и в F-Droid сборках.

Планировщик участков

Планировщик участков оценивает радиочастотное покрытие для передатчика и отображает его на карте в виде цветового наложения. Откройте его с панели управления картой или со страницы сведений о ноде через “Оценку покрытия” (отображается только для нод с известным местоположением). Настройте передатчик (местоположение, частота, мощность передачи, усиление и высота антенны), приёмник (чувствительность, высота) и параметры симуляции (максимальная дальность, рельеф высокого разрешения, цветовая палитра), затем запустите расчёт. Как и слои карты, планировщик участков работает как в Google Play, так и в F-Droid сборках.

Передача геоданных

Включение передачи геоданных

Твоя нода передаёт свои GPS-координаты на основе:

  • Фиксированный интервал — передача координат через равные промежутки времени
  • Адаптивная передача — передача при превышении порога движения
  • Вручную — делиться только по явному запросу

Настройте поведение передачи геоданных в Настройки → Геоданные.

Вопросы приватности

🔒 Приватность: Данные о местоположении передаются всем нодам на твоём канале. Если ты не хочешь раскрывать своё местоположение, отключите GPS в настройках или используйте фиксированное/фиктивное местоположение.

Источники карт

Основная карта зависит от варианта сборки: сборки для Google Play используют Google Maps, а сборки F-Droid и настольные — OpenStreetMap. Поверх основной карты доступны дополнительные источники плиток в качестве наложений или альтернатив:

  • Спутниковый снимки (где доступно)
  • Офлайн-плитки (загружайте области карт для использования офлайн)

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/messages-and-channels.html b/v2.8.0/ru-rRU/user/messages-and-channels.html deleted file mode 100644 index 6164225e90..0000000000 --- a/v2.8.0/ru-rRU/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Сообщения и каналы | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Сообщения и каналы

Meshtastic поддерживает два режима связи: вещание по каналам и личные сообщения.

Каналы

Каналы - это общие группы для связи. Все узлы, настроенные с одинаковым ключом канала, могут читать и отправлять сообщения в этом канале.

Канал по умолчанию

Каждое устройство Meshtastic имеет канал LongFast по умолчанию. Это незашифрованный канал, используемый для общей связи в ячеистой сети.

Безопасность канала

Каналы поддерживают несколько уровней шифрования:

Иконка Уровень безопасности Описание
🔒 PSK (256-bit AES) Полностью зашифрован надёжным предварительно согласованным ключом. Только узлы с соответствующим ключом могут читать сообщения.
🔐 PSK (128-bit AES) Зашифрован более коротким ключом. Безопасен для большинства задач, но 256-битное шифрование предпочтительнее для конфиденциальных данных.
🔓 По умолчанию / Открытый Использует общеизвестный ключ по умолчанию. Любое устройство Meshtastic с той же пред установкой может читать эти сообщения.
⚠️ Незащищённый + Местоположение Открытый канал, который также передаёт ваше GPS-местоположение. Используйте с осторожностью в общественных ячеистых сетях.

🔒 Совет по безопасности: Всегда настраивайте уникальный PSK для личных сообщений. Канал по умолчанию намеренно открыт, чтобы новые пользователи могли обнаружить mesh-сеть — но вам следует создать отдельный зашифрованный канал для любой конфиденциальной информации.

Добавление канала

  1. Перейдите в Настройки → Каналы.
  2. Нажмите Добавить канал или сканируйте QR-код.
  3. Настройте имя канала и ключ шифрования.
  4. Поделитесь URL-адресом/QR-кодом канала с теми, кому нужен доступ.

При нажатии на канал отображаются его сведения и опции для отправки приглашения.

Личные сообщения

Личные сообщения (DMs) — это зашифрованная связь точка - к - точке между двумя конкретными узлами.

Отправка личного сообщения

  1. Откройте вкладку Сообщения.
  2. Выберите ноду из списка контактов или нажмите на ноду в списке нод.
  3. Введите сообщение и нажмите “Отправить”.

Состояние сообщения

Метка статуса отображается только под твоими исходящими сообщениями (входящие сообщения от других не имеют метки статуса):

Состояние Значение
Отправка… В очереди или уже передано на радио, результат ещё не определён (для статусов “в очереди” и “в пути»” отображается одинаковый текст)
Доставлено получателю Самое надёжное подтверждение для личного сообщения — получено подтверждение о доставке
Отправлено в сеть Для широковещательного сообщения в канале — сообщение достигло mesh-сети (у широковещательных сообщений нет подтверждений для каждого получателя)
Передано, не подтверждено получателем Для личного сообщения, отображается предупреждающим цветом — сообщение было ретранслировано, но подтверждение ещё не получено
Маршрутизация по SF++ цепочке… Находится в процессе маршрутизации/буферизации в цепочке Store & Forward Plus Plus
Подтверждено в цепочке SF++ Подтверждена доставка через цепочку SF++
Ошибки Ошибка доставки — нажмите на статус, чтобы узнать конкретную причину (см. раздел «Ошибки доставки» ниже)

Ошибки доставки

Когда сообщение не удаётся доставить, индикатор ошибки показывает, что пошло не так:

Ошибки Значение Что делать
Нет маршрута Путь к целевой ноде отсутствует Получатель может быть не в сети или вне зоны действия mesh-сети. Повторите попытку позже или подойдите ближе.
Получен NAK Следующая нода отказалась ретранслировать Ретранслирующая нода может быть перегружена. Подождите и повторите попытку.
Время ожидания истекло Нет подтверждения в пределах окна повторных попыток Получатель, возможно, находится сразу за пределами зоны досягаемости. Попробуйте увеличить лимит хопов или переместиться в место с лучшим сигналом.
Нет интерфейса Нет доступного радиоинтерфейса для отправки Проверь, подключено ли твоё радио и настроен ли канал.
Исчерпаны повторные передачи Все попытки повторной отправки исчерпаны Путь в mesh-сети ненадёжен. Попробуйте другой канал или дождитесь улучшения условий.
Нет канала Канал назначения не существует Убедитесь, что обе ноды используют одинаковую конфигурацию канала.
Слишком большое Сообщение превышает максимальный размер полезной нагрузки Сократите сообщение (максимум ~200 символов).
Без ответа Нода получила сообщение, но не ответила Радио получателя может быть занято или находиться в спящем режиме с низким энергопотреблением.
Ограничение рабочего цикла Достигнут региональный лимит эфирного времени Твоё радио исчерпало разрешённое время передачи. Дождитесь сброса окна рабочего цикла (обычно 1 час в регионах ЕС).
Неверный запрос Повреждённое или недействительное сообщение Обычно это указывает на программную ошибку. Попробуйте перезапустить приложение.

💡 Совет: Большинство ошибок доставки разрешаются сами собой. Если нода доступна с перебоями, mesh-сеть будет повторять попытки. При постоянных ошибках «Нет маршрута» проверьте, что промежуточные ноды-роутеры находятся в сети.

Функции сообщений

Быстрый чат

Заранее подготовленные сообщения для быстрой связи:

  • Доступ через кнопку “Быстрый чат” в области ввода сообщения
  • Выберите из встроенных фраз или собственных сообщений
  • Настройте сообщения быстрого чата в Настройки → Быстрый чат
  • Полезно, когда набирать текст неудобно (перчатки, маленький экран, срочность)

Опция быстрого чата

Каждая запись быстрого чата имеет короткое Имя (надпись на кнопке), Сообщение, которое она вставляет, и переключатель “Отправить сразу” — когда он включён, нажатие кнопки немедленно отправляет сообщение, а не помещает его в поле ввода для редактирования:

Диалог создания быстрого чата с именем, сообщением и переключателем мгновенной отправки

Список каналов показывает каждый канал с предпросмотром последнего сообщения.

Поиск сообщений

Ты можешь искать по всей истории любой переписки прямо на экране чата:

  1. Откройте переписку (канал или личное сообщение).
  2. Нажмите значок поиска в верхней панели.
  3. Введите текст в поле “Поиск сообщений…”. Поиск выполняется по мере твоего ввода по всем сохранённым сообщениям в этой переписке.
  4. Используйте счётчик результатов N / M и стрелки вперёд / назад для перехода между совпадениями, которые подсвечиваются в переписке.

Панель поиска сообщений со счётчиком результатов и стрелками вперёд/назад

💡 Совет: Поиск полнотекстовый и ограничивается перепиской, из которого ты его открыл — он не ищет по другим каналам или контактам. Он сопоставляет текст с сообщениями, уже сохранёнными на твоём устройстве, поэтому работает полностью офлайн.

Пузырьки сообщения

Сообщения отображаются в виде пузырьков чата — отправленные справа, полученные слева. В каждом пузырьке отображаются отправитель, время и статус доставки. Сообщения с ответами содержат цитируемый предпросмотр исходного сообщения над ответом.

Форматирование текста

Сообщения поддерживают облегчённую встроенную разметку Markdown. Полученные сообщения отображают оформление со скрытыми символами синтаксиса:

Тип Синтаксис Отображается как
Жирный **жирный** жирный
Курсив *курсив* курсив
Зачёркнутый ~~зачёркнутый~~ зачёркнутый
Встроенный код `код` моноширинный код
Ссылка [текст](https://example.com) нажимаемая ссылка

При создании сообщения установите фокус на поле ввода и введите не менее трёх символов — под полем появится панель форматирования. Выделите текст и нажмите на стиль, чтобы применить его (повторное нажатие убирает форматирование); если текст не выделен, будет вставлена пустая пара символов разметки, а курсор окажется между ними. Кнопка вставки ссылки открывает диалог для ввода URL-адреса. В процессе твоего набора черновые стили отображаются в поле, но в самом тексте сохраняются символы Markdown.

💡 Совет: Форматирование передаётся по mesh-сети как есть — теми же байтами, что и iOS. Клиенты, не поддерживающие Markdown (старые приложения, простые клиенты на прошивке), отобразят сырые символы **/~~. URL-адреса, адреса электронной почты и номера телефонов всё равно автоматически становятся ссылками независимо от того, используете ли вы Markdown.

Упоминания

Введите @ при написании сообщения, чтобы упомянуть ноду — по мере твоего ввода будет появляться список подходящих контактов. В полученном сообщении упоминание отображается как выделенный элемент с именем ноды; нажмите на него, чтобы сразу перейти на страницу сведений о ноде.

Реакции

Реагируйте на сообщения с помощью эмодзи:

  • Нажмите и удерживайте сообщение, чтобы открыть меню действий
  • Нажмите “Добавить реакцию”, чтобы выбрать эмодзи
  • Реакции появляются под пузырьком сообщения
  • Несколько пользователей могут отреагировать на одно и то же сообщение
  • Реагируйте на свои сообщения или сообщения других

Значки реакций-эмодзи, отображаемые под сообщением

💡 Совет: Реакции очень лёгкие — они потребляют гораздо меньше трафика mesh-сети по сравнению с полными текстовыми сообщениями.

Действия с сообщениями

Нажмите и удерживайте любое сообщение, чтобы получить доступ к:

  • Копировать — скопировать текст сообщения в буфер обмена
  • Ответить — процитировать сообщение в твоём ответе
  • Реагировать — добавить реакцию-эмодзи
  • Перевести — перевести полученное сообщение на язык твоего устройства и переключаться между оригиналом и переводом (только в сборке Google Play; используется встроенный перевод)
  • Удалить — удалить отправленное тобою сообщение (локальное удаление)

Приоритет сообщений

Сообщения ставятся в очередь и передаются в соответствии с приоритетом:

  1. Экстренные/аварийные сообщения (наивысший)
  2. Личные сообщения
  3. Широковещательные сообщения в канале (самый низкий)

Ограничения сообщений

  • Максимальная длина: 200 байт (примерно 200 символов для текста в ASCII)
  • Ограничение в 200 байт применяется к встроенному редактору сообщений — сам лимит полезной нагрузки в mesh-сети составляет ~233 байта, поэтому сообщения от других отправителей (например, App Functions или Android Auto) могут быть немного длиннее
  • Ограничение скорости: Mesh-сеть обеспечивает справедливое распределение эфирного времени; большой объем сообщений может быть ограничен
  • Доставка: Сообщения автоматически повторяются при отсутствии подтверждения

Рекомендации

  • Используйте каналы для координации в группах
  • Используйте личные сообщения для приватного общения один на один
  • Пишите короткие сообщения — пропускная способность mesh-сети ограничена
  • Настройте шифрование для конфиденциальной связи

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/mqtt.html b/v2.8.0/ru-rRU/user/mqtt.html deleted file mode 100644 index bc2643ada9..0000000000 --- a/v2.8.0/ru-rRU/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

MQTT

MQTT соединяет твою mesh-сеть Meshtastic с интернетом, обеспечивая связь на больших расстояниях за пределами радиодиапазона.

Обзор

Модуль MQTT подключает вашу ноду к MQTT-брокеру, что позволяет:

  • Сообщениям достигать нод в других физических mesh-сетях через интернет
  • Интегрироваться с системами домашней автоматизации и мониторинга
  • Публиковать местоположения нод на публичной карте Meshtastic
  • Создавать собственные каналы данных для журналирования и оповещений

Как это работает

[Ваша нода] → Радио → [Шлюзовая нода с WiFi] → MQTT-брокер → [Удалённый шлюз] → Радио → [Удалённая нода]
-

Шлюзовая нода с доступом в интернет (WiFi или Ethernet) публикует сообщения mesh-сети в топик MQTT. Удалённые шлюзы, подписанные на тот же топик, передают эти сообщения в свою локальную mesh-сеть.

Настройки

Включение MQTT

  1. Перейдите в Настройки → Конфигурация модулей → MQTT.
  2. Включите модуль MQTT.
  3. Настройте подключение к брокеру:

Переключатель MQTT

Настройка Описание По умолчанию
Адрес сервера Имя хоста MQTT-брокера mqtt.meshtastic.org
Имя пользователя Аутентификация брокера meshdev
Пароль Аутентификация брокера large4cats
Корневая тема Базовый топик для сообщений msh
Шифрование Шифровать полезную нагрузку MQTT Включено
Вывод в JSON ⚠️ Устарело — поддержка JSON-пакетов удалена из прошивки; это поле игнорируется Отключено
TLS Безопасное подключение к брокеру Отключено
Публикация на карте Сообщать о местоположении на публичную карту Отключено

MQTT-прокси на этом телефоне

Если у твоей ноды нет собственного доступа в интернет, она может использовать подключённый телефон как MQTT-шлюз: включите MQTT и Прокси для клиента в конфигурации модуля, и приложение будет передавать трафик MQTT между радио и брокером через интернет-соединение твоего телефона.

Переключатель MQTT-прокси на этом телефоне в верхней части экрана настроек MQTT показывает, запущена ли сейчас эта ретрансляция, и позволяет тебе немедленно отключить (или перезапустить) её — без редактирования и повторного сохранения конфигурации MQTT устройства.

Стандартный брокер Meshtastic

Сообщество поддерживает публичный брокер по адресу mqtt.meshtastic.org. Он предназначен для общего использования и тестирования.

ℹ️ Примечание: Подключения к mqtt.meshtastic.org всегда используют TLS (порт 8883), даже если переключатель TLS выключен. Для любого другого брокера TLS используется только при включении (порт 8883 с TLS, 1883 без).

🔒 Приватность: Сообщения на публичном брокере доступны для чтения всем, кто подписан. Всегда используйте шифрование каналов для конфиденциальной связи.

Частный брокер

Для большей приватности и контроля ты можешь запустить собственный MQTT-брокер:

  • Mosquitto (легковесный, с открытым исходным кодом)
  • HiveMQ
  • EMQX

Настройте свою ноду на подключение к частному брокеру с соответствующими учётными данными.

Публикация на карте

Когда публикация на карте включена, твоя нода отправляет своё местоположение на карту сообщества Meshtastic:

  • Доступно на meshmap.net и аналогичных картографических сервисах сообщества
  • Передаются только координаты и информация о ноде
  • Отключи эту функцию, если не хочешь, чтобы твоё местоположение было общедоступным
Направление Описание
Uplink (восходящий) Сообщения из mesh-сети → MQTT-брокер
Downlink (нисходящий) Сообщения от MQTT-брокера → mesh-сеть

Настройте для каждого канала активные направления, чтобы управлять потоком сообщений и использованием эфирного времени.

Форматы сообщений

MQTT использует формат сообщений protobuf:

Формат Описание Сценарий использования
Protobuf Бинарное кодирование Meshtastic protobuf Соединение нод между mesh-сетями

⚠️ Примечание: Поддержка вывода в JSON была удалена из прошивки. Настройка json_enabled всё ещё отображается в приложении для обратной совместимости, но не влияет на текущие версии прошивки.

Шифрование и приватность

Понимание многоуровневой модели шифрования:

  1. Шифрование канала происходит в mesh-сети до MQTT. Если твой канал использует PSK, полезная нагрузка MQTT уже зашифрована — брокер и любые подписчики видят только зашифрованный текст.
  2. Шифрование MQTT (настройка модуля) добавляет дополнительный уровень шифрования при передаче к брокеру. Это защищает метаданные и информацию о маршрутизации.
  3. TLS шифрует само TCP-соединение с брокером, предотвращая перехват на сетевом уровне.

🔒 Важно: Публичный канал по умолчанию использует общеизвестный ключ. Сообщения в канале по умолчанию, отправленные через MQTT, фактически не зашифрованы — кто угодно может их расшифровать. Всегда используйте собственный PSK для конфиденциальной связи.

Рекомендации

  • Используйте шифрование на уровне канала (PSK) на каналах, подключённых к MQTT
  • Не включайте MQTT на нодах без доступа в интернет (это приведёт к буферизации и напрасной трате памяти)
  • Используйте частный брокер для задач, требующих повышенной безопасности
  • Учитывайте эфирное время при передаче сообщений из загруженных MQTT-топиков — каждое такое сообщение расходует радиоэфирное время в вашей локальной mesh-сети
  • Рассмотрите включение режима “только uplink”, если нужно лишь удалённо наблюдать за mesh-сетью, не отправляя сообщения обратно

Устранение неполадок

MQTT не подключается

  • Проверьте WiFi — шлюзовая нода должна иметь активное подключение к интернету (WiFi или Ethernet). MQTT не работает через сам радиоканал LoRa.
  • Проверьте учётные данные — неверное имя пользователя или пароль на большинстве брокеров приводят к тихому сбою. Проверьте, нет ли лишних пробелов в конце.
  • Брандмауэр — порт 1883 (MQTT) или 8883 (MQTT+TLS) должен быть открыт. Некоторые сети блокируют нестандартные порты.
  • Разрешение DNS — если используется имя хоста собственного брокера, убедитесь, что нода может его разрешить. Попробуйте подключиться напрямую по IP-адресу брокера.

Сообщения не проходят через мост

  • Проверьте настройки uplink/downlink — если включён только uplink, сообщения идут из mesh-сети в MQTT, но не обратно. Включите downlink на принимающем шлюзе.
  • Несовпадение каналов — оба шлюза должны использовать один и тот же канал с одинаковым PSK. Несовпадение означает, что сообщения зашифрованы разными ключами и выглядят как мусор.
  • Несовпадение топиков — убедитесь, что оба шлюза используют одинаковый корневой топик. Стандартный msh работает для публичного брокера.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/node-metrics.html b/v2.8.0/ru-rRU/user/node-metrics.html deleted file mode 100644 index ddc71f0e5d..0000000000 --- a/v2.8.0/ru-rRU/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Метрики ноды | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Метрики ноды

Экран сведений о ноде предоставляет подробную телеметрию и метрики для каждой ноды твоей mesh-сети.

Интервал передачи

Основная информация о работе, сообщаемая каждой нодой:

Метрическая Описание
Уровень заряда Текущий процент заряда батареи
Напряжение Показания напряжения батареи
Использование канала Процент израсходованного эфирного времени
Эфирное время Время передачи, использованное этой нодой
Аптайм Время с момента последней перезагрузки

Метрики устройства отображаются в виде отдельных карточек с трендовыми спарклайнами, показывающими уровень заряда, напряжение, использование канала, эфирное время и время безотказной работы(аптайма) с течением времени.

💡 Совет: Нажмите на любую карточку метрики, чтобы развернуть её в полноценный график с историческими точками данных. Масштабируйте временную ось щипком.

Метрики окружения

Данные датчиков окружающей среды (требуется совместимое оборудование):

Метрическая Примеры сенсоров
Температура BME280, BME680, SHT31
Влажность BME280, BME680, SHT31
Давление на барометре BME280, BMP280
Сопротивление газа BME680
IAQ (Качества воздуха) BME680

Метрики окружающей среды отображаются на графиках с течением времени для удобного анализа тенденций — температура, влажность и давление выводятся каждый в виде отдельного линейного графика с единицами измерения по оси Y.

Индекс IAQ (качество воздуха в помещении) датчика BME680 представляет собой единое значение от 0 до 500+, полученное на основе сопротивления газа, и отображается на цветовой шкале от “Отлично” до “Опасно загрязнён”:

Шкала индекса IAQ от Отлично до Опасно загрязнён

💡 Совет: Для получения метрик окружающей среды к удалённой ноде должен быть подключён датчик. Не все ноды передают данные об окружающей среде. См. Телеметрия и датчики для получения полного списка поддерживаемых датчиков.

Метрики качества воздуха

Качество воздуха — это отдельный экран метрик для нод, оснащённых датчиком взвешенных частиц и/или CO₂. Этот экран отделён от показателя IAQ датчика BME680, отображаемого в разделе “Метрики окружающей среды” — IAQ представляет собой единый индекс, основанный на сопротивлении газа, тогда как экран качества воздуха показывает графики исходных измерений взвешенных частиц и CO₂.

Метрическая Единица Описание
PM1.0 мкг/м³ Взвешенные частицы размером до 1,0 микрона
PM2.5 мкг/м³ Взвешенные частицы размером до 2,5 микрона
PM10 мкг/м³ Взвешенные частицы размером до 10 микронов
AQI Индекс EPA AQI EPA по методу NowCast, вычисляемый на основе твоей недавней истории PM2.5, с цветовой меткой уровня опасности. Отображается рядом с PM2.5, как только накопится достаточно показаний.
CO₂ ppm Концентрация углекислого газа
Температура CO₂ °C / °F Температура, сообщаемая самим датчиком CO₂ (например, SCD4x)
Влажность CO₂ % Относительная влажность, сообщаемая датчиком CO₂

Показания CO₂ окрашены по уровню опасности, чтобы качество воздуха можно было легко оценить с первого взгляда:

Диапазон Диапазон CO₂ (ppm) Цвет
Хороший < 1000 Зеленый
Душно < 2000 Янтарный
Плохо < 5000 Оранжевый
Небезопасно < 30000 Красный
Эвакуация ≥ 30000 Тёмно-красный

Показания качества воздуха с цветовой кодировкой уровня CO₂

Кнопка журнала/метрик качества воздуха появляется на экране сведений о ноде только в том случае, если нода передала телеметрию о качестве воздуха. В режиме просмотра качества воздуха ты можешь:

  • Выбрать временной интервал для графиков.
  • Фильтровать с помощью кнопок метрик — отображаются только те метрики, по которым есть данные.
  • Обновить / запросить последнюю телеметрию о качестве воздуха.
  • Экспортировать в CSV для анализа в электронных таблицах.

💡 Совет: Для получения метрик качества воздуха на удалённой ноде должен быть установлен совместимый датчик. Если у ноды нет датчика взвешенных частиц или CO₂, кнопка качества воздуха не появится. См. Телеметрия и датчики для получения информации о поддерживаемом оборудовании.

Показатели сигнала

Информация о качестве радиосигнала:

Метрическая Описание
Сигнал/шум Отношение сигнал/шум (SNR) (чем выше, тем лучше)
RSSI Индикатор уровня принимаемого сигнала (Rssi) (чем ближе к 0, тем лучше)
Уровень собственных шумов Местный фоновый радиочастотный шум в дБм (чем более отрицательное значение, тем тише)
Количество хопов Количество хопов в mesh-сети для последнего сообщения

Оценка качества сигнала

Качество сигнала оценивается по SNR относительно минимального уровня демодуляции активного пресета LoRa-модема, а не по фиксированным порогам — конкретное значение SNR означает разное на разных пресетах (например, −15 дБ нормально для LongSlow, но неприемлемо для ShortFast). RSSI отображается, но не учитывается в оценке. Пусть limit — это предельное значение SNR для пресета:

Качество Критерии
Хороший SNR выше предела пресета
Средний менее чем на 5,5 дБ ниже предела
Плохой от 5,5 до 7,5 дБ ниже предела
Отсутствует более чем на 7,5 дБ ниже предела

См. Понимание измерителя сигнала для полного объяснения.

Локальная статистика твоего подключённого радио также отображается в разделе “Качество сигнала”, когда она доступна. Эти журналы включают уровень шума, счётчики трафика, счётчики ретрансляций, количество нод в сети и время работы радио. График уровня шума использует пунктирную опорную линию на уровне -85 дБм, чтобы помочь определить загруженность радиоэфира. Используйте “Запросить”, чтобы запросить у подключённого радио свежий отчёт телеметрии локальной статистики, “Очистить” — чтобы удалить журналы локальной статистики для этой ноды, и “Сохранить” — чтобы экспортировать видимую историю локальной статистики в формате CSV.

Метрики питания

Телеметрия управления питанием (требуется датчик INA или совместимое оборудование):

Метрическая Описание
Напряжение шины Напряжение питания
Ток Потребляемый ток в миллиамперах
Питание Расчётная мощность

Трассировка маршрута

Трассировка показывает путь сообщения через mesh-сеть:

  1. На экране сведений о ноде нажмите “Трассировка”.
  2. Приложение отправляет запрос трассировки целевой ноде.
  3. Результаты показывают каждый хоп со значениями SNR/RSSI.

Чтение результатов трассировки

Ты → Нода A (SNR: 8.5) → Нода B (SNR: 5.2) → Цель
-

Каждый хоп обозначает ретранслирующую ноду, которая переслала сообщение.

Журнал местоположения

Исторические данные о местоположении для нод, которые делятся своими координатами:

  • GPS-координаты
  • Высота
  • Скорость (при движении)
  • Временная метка для каждого отчёта о местоположении

Информация об окружении

Показывает, какие ноды данная нода может слышать напрямую — полезно для понимания топологии mesh-сети.

Просмотр метрик

  1. Перейдите в раздел Ноды.
  2. Нажмите на ноду, которую хотите просмотреть.
  3. Выберите категорию метрик на вкладках с подробностями.

Сведения о ноде — локальное устройство

Вкладка “Местоположение” показывает координаты нод, которые передают GPS-данные:

Встроенное содержимое о местоположении

⚠️ Примечание: Метрики доступны только в том случае, если они были переданы удалённой нодой. Метрики обновляются с интервалами, настроенными в параметрах телеметрии каждой ноды.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/nodes.html b/v2.8.0/ru-rRU/user/nodes.html deleted file mode 100644 index 8246f0dd8c..0000000000 --- a/v2.8.0/ru-rRU/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Ноды | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Ноды

Экран нод показывает все устройства, видимые в твоей mesh-сети.

Список узлов

Список нод показывает все ноды, которые услышало твоё радиоустройство, включая:

  • Имя ноды — длинное имя, настроенное пользователем
  • Короткое имя — 4-символьный идентификатор
  • Качество сигнала — последний уровень принимаемого сигнала
  • Последнее услышанное — время с последнего общения
  • Расстояние — предполагаемое расстояние (если позиции общие)
  • Батарея — уровень заряда батареи удалённой ноды (если включена телеметрия)

Индикаторы состояния ноды

Значок Значение
🟢 Онлайн Нода слышна за последние 2 часа
⚪ Оффлайн Нода не отвечала больше 2 часов
⭐ Избранный Нода отмечена пользователем как избранная

Нода считается онлайн, если с ней связывались в последние 2 часа, и офлайн в противном случае — отдельного статуса «отошёл» нет.

Роли ноды

У нод можно настраивать разные роли, которые влияют на их поведение в сети:

Роль Описание
Client Стандартное пользовательское устройство
Client Base Обрабатывает трафик избранных нод как приоритет Router Late; весь остальной трафик как Client
Client Mute Принимает, но не ретранслирует
Client Hidden Как Client Mute, плюс скрыт из списка нод
Router Ставит в приоритет пересылку сообщений; не засыпает чтобы передавать их
Router Late Инфраструктурная нода, которая ретранслирует один раз, но только после всех остальных режимов (обеспечивает дополнительное покрытие)
Router Client ⚠️ Устарело (удалено в прошивке 2.3.15) — больше не выбирается; используй вместо этого Router или Client
Repeater ⚠️ Устарело (удалено в прошивке 2.7.11) — больше не выбирается; используй вместо этого Router
Tracker Оптимизировано для передачи данных о местоположении через регулярные промежутки времени
Sensor Оптимизировано для данных телеметрии
Тактический Взаимодействует с системами TAK (отправляет/принимает CoT)
TAK Tracker Только отчет о позиции TAK
Lost & Found Непрерывный маяк для поиска

Выбор роли

Большинству пользователей стоит оставить роль Client по умолчанию. Рассмотри другую роль, когда:

  • Router — У тебя есть узел в фиксированном, высоком месте с надежным источником питания (крыша, вершина холма). Router постоянно бодрствуют, чтобы пересылать сообщения для других, и они необходимы для расширения покрытия сети. Не используй Router на портативных устройствах с батареей.
  • Router Late — инфраструктурная нода, которая всегда пересылает пакеты только один раз, но только после того, как все другие режимы маршрутизации выполнили свои ходы. Обеспечивает дополнительное покрытие для локальных кластеров, не конкурируя с основными роутерами.
  • Client Base — обрабатывает трафик от/к вашим избранным нодам с приоритетом Router Late (обеспечивая этим сообщениям дополнительное ретранслирование), а всё остальное обрабатывает как обычный Client.
  • Client Mute — хочешь принимать трафик сети, но не участвовать в его ретрансляции. Полезно для устройств только для мониторинга или чтобы уменьшить нагрузку в густонаселённых местах.
  • Tracker — это устройство, которое работает само по себе и его единственная цель — передавать местоположение по GPS (например, автомобиль, питомец или имущество). Спит между передачами для экономии батареи.
  • Sensor — это автономное устройство, которое отслеживает показатели окружающей среды (температуру, влажность, качество воздуха). Похожий профиль мощности на Tracker.
  • TAK / TAK Tracker — нужно только если работать с системами ATAK/WinTAK. Смотри Интеграция TAK для подробностей.

💡 Совет: Сеть работает лучше, когда большинство нод Client или Router. Слишком много нод Mute снижает устойчивость сети; слишком много роутеров в плотной зоне может вызвать перегрузку. Хорошее практическое правило: один роутер на 5–10 клиентов в вашей зоне.

Индикаторы шифрования

У нод рядом с именем отображаются значки статуса шифрования:

Значок Значение
🔒 Заблокировано Связь использует PKI (инфраструктуру публичных ключей) — сквозное шифрование с проверкой идентичности
🔓 Разблокировано Связь использует общий канал PSK — зашифровано, но личность не проверяется индивидуально
⚠️ Несовпадение Несовпадение открытого ключа — ключ ноды изменился с последнего раза (разберитесь, прежде чем доверять)

💡 Совет: Шифрование PKI (прошивка 2.5+) обеспечивает более надёжную защиту, чем общий PSK для канала, потому что у каждой ноды есть уникальная пара ключей. Если видишь предупреждение о несоответствии ключа, нода могла быть сброшена или скомпрометирована.

Быстрые действия

Из списка нод ты можешь:

  • Нажмите на ноду, чтобы увидеть её страницу с деталями
  • Долгое нажатие для быстрых действий:
    • Отметить/убрать из избранного
    • Отключить/включить уведомления
    • Отправить личное сообщение
    • Трассировка
    • Игнорировать/разблокировать
    • Удалить ноду

Фильтрация и сортировка

Поиск текста

Введи в поле поиска, чтобы отфильтровать ноды по имени или короткому имени. Фильтр обновляется в реальном времени по мере набора текста.

Переключатели фильтра

Фильтр Описание
Только онлайн Показывать только ноды, услышанные за последние 2 часа
Только прямые Показывать только ноды с прямыми (без посредников) соединениями
Включить неизвестные Показать ноды, которые еще не отправили информацию о пользователе
Исключить инфраструктуру Скрыть ноды с инфраструктурными ролями (Router, Router Late, Client Base)
Исключить MQTT Скрыть ноды, слышимые только через интернет-мост MQTT
Показать игнорируемые Показать ноды, которые ты раньше скрывал или заглушал

Параметры сортировки

Сортировка Описание
Последнее слышанное (по умолчанию) Сначала недавно слышимые ноды
По алфавиту Сортировать по полному имени ноды
Расстояние Сначала ближайшие ноды (требуется обмен позициями)
Меньше хопов Сначала с наименьшим количеством ретрансляций
Канал Группировать по индексу канала
Через MQTT Сгруппировать по MQTT и радиоприему
Избранное Сначала избранные ноды

Нод на хоп

Нажми на значок гистограммы хопов в панели приложений списка нод, чтобы открыть столбчатую диаграмму того, сколько нод находится на каждом расстоянии хопа (0 = напрямую, 1 = через один ретранслятор и так далее). Отфильтруй график по окну последнего услышанного — за всё время, 1 час, 8 часов или 24 часа — чтобы посмотреть, как сейчас выглядит сеть по сравнению с более длительным периодом. Это быстрый способ понять, насколько занята и разветвлена твоя местная сеть.

Детали ноды

Нажатие на ноду открывает подробный вид с полной информацией. Смотри Метрики ноды для полной информации о метриках и телеметрии.

Просмотр деталей ноды

Экран с деталями включает информацию об устройстве, его местоположение и кнопки действий:

Раздел деталей ноды

Встроенные индикаторы статуса показывают ключевые показатели с первого взгляда:

Индикатор Снимок экрана
Качество сигнала Сигнал
Уровень заряда батареи Батарея
Количество хопов Хопы
Последний раз слышен Last heard
Расстояние Расстояние

Ссылки на устройства (“Хочу такое”)

Когда оборудование ноды распознано, в детальном просмотре появляется сворачиваемый раздел “Хочу такой”, содержащий ссылки на места, где можно купить или узнать больше об этом устройстве: страницу продукта у производителя, варианты продукта и объявления на региональных торговых площадках (например, AliExpress, Amazon и у поддерживаемых продавцов), отфильтрованные по твоей стране. Каждая ссылка открывается через сервис перенаправления msh.to. Устройства без подходящих ссылок не показывают этот раздел.

Полный, просматриваемый каталог всех ссылок также доступен в Настройки → Справка и документация → Ссылки на устройства.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/onboarding.html b/v2.8.0/ru-rRU/user/onboarding.html deleted file mode 100644 index 0098ad327e..0000000000 --- a/v2.8.0/ru-rRU/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Начало работы | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Начало работы

Добро пожаловать в Meshtastic! Это руководство проведет тебя через начальную настройку приложения Meshtastic для Android.

Первый запуск

Когда ты запускаешь приложение впервые, то будет предложено пройти через начальный процесс, который поможет настроить основные разрешения и параметры. Каждый шаг нужно выполнить по порядку, или же можешь пропустить его и настроить разрешения позже в настройках Android.

Экран приветствия

Экран приветствия представляет Meshtastic и его основные возможности:

  • Автономная mesh-связь
  • Не требуется мобильная связь или интернет
  • Сквозное шифрование сообщений

Нажми Начать для перехода к настройке.

Экран приветствия

Разрешения

Приложение запрашивает несколько разрешений во время настройки. Каждое из них служит определенной цели, и некоторые необходимы для основной функциональности.

Разрешения Bluetooth

Bluetooth является основным методом соединения между телефоном и радиостанцией Meshtastic:

  • Сканирование Bluetooth — обнаружение ближайших радиостанций Meshtastic
  • Подключение по Bluetooth — установка и поддержание соединения с сопряжёнными радиоустройствами

Предоставь оба разрешения при запросе. Без Bluetooth тебе придется использовать USB или TCP соединения.

Разрешение на доступ к местоположению

⚠️ Почему для Bluetooth требуется местоположение? Android требует разрешение на определение местоположения для обнаружения устройств Bluetooth Low Energy поблизости. Это требование системы Android, а не специфический выбор Meshtastic.

Meshtastic также использует местоположение для:

  • Показ вашего положения на карте
  • Вычисление расстояний до других нод
  • Обмен GPS-координатами с другими участниками сети (если включено)

Предоставь доступ “При использовании приложения” или “Всегда” в зависимости от своих предпочтений:

  • При использовании приложения — обновление местоположения происходит только когда приложение открыто
  • Всегда — включает обновления позиции в фоновом режиме для активного присутствия в сети

Если доступ будет запрещен, сканирование Bluetooth не будет работать, и нода не будет сообщать о положении.

Разрешение на уведомления

Уведомления оповещают тебя о:

  • Входящие сообщения из каналов и личных сообщений
  • Новые ноды, присоединившиеся к сети
  • Низкий заряд на удаленной ноде

💡 Совет: Ты можешь тонко настроить уведомления позже в настройках системы — приложение создает отдельный канал уведомлений по категориям (плюс несколько внутренних, как фоновая служба), поэтому ты можешь включить или заглушить их по отдельности.

Разрешение на критические уведомления

На поддерживаемых устройствах приложение может запрашивать разрешение на критические уведомления:

  • Это уведомления высокого приоритета, которые могут прерывать режим “Не беспокоить”
  • Полезно для экстренных уведомлений в mesh-сети или срочных сообщений
  • Вы можете пропустить этот шаг, если не нужны уведомления о прорывах
  • Настроить или отменить можно позже в настройках уведомлений Android

После настройки

Как только разрешения предоставлены, приложение переходит к основному интерфейсу. Ваше первое действие должно заключаться в подключении к радиостанции Meshtastic — см. Подключения для подробных инструкций.

💡 Совет: Если ты пропустил какие-либо разрешения во время настройки, то можешь выдать их позже через Настройки Android → Приложения → Meshtastic → Разрешения. Приложение снова запросит у тебя разрешение, если отсутствующее разрешение блокирует функцию, которую ты пытаешься использовать.

Что дальше?

После подключения к радиостанции, исследуй:

Новичок в Meshtastic? Руководство по началу работы на meshtastic.org охватывает выбор оборудования, начальную настройку радиостанции и первую установку сети.



diff --git a/v2.8.0/ru-rRU/user/settings-module-admin.html b/v2.8.0/ru-rRU/user/settings-module-admin.html deleted file mode 100644 index 686557d9da..0000000000 --- a/v2.8.0/ru-rRU/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Настройки — Модули и администрирование | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Настройки — Модули и администрирование

Настрой дополнительные функциональные модули и выполняй управление устройством. Модули расширяют Meshtastic с помощью специализированных возможностей — каждый из них можно включать или отключать отдельно.

💡 Совет: Тебе нужно включать только те модули, которые действительно используешь. Отключение неиспользуемых модулей снижает время передачи, экономит батарею и упрощает конфигурацию.

Настройки модулей используют макет на основе карточек с переключателями, выпадающими списками, текстовыми полями и ползунками:

Переключатель

Выпадающий список

Текстовое поле

Настройки расположения карточек

Конфигурация модуля

Модуль MQTT

Мосты передают сообщения туда и обратно от брокера MQTT для подключения к интернету. Ты так расширишь сеть за пределы радиуса действия или интегрируешь её с системами домашней автоматизации.

Настройка Описание
Включено Переключить MQTT мост
Сервер Адрес MQTT брокера
Имя пользователя Имя пользователя для аутентификации
Пароль Пароль аутентификации
Шифрование Зашифровать MQTT-пейлоады
Вывод JSON ⚠️ Устарело — поддержка JSON удалена из прошивки; поле игнорируется
TLS Использовать защищённое соединение
Корневая тема Базовый путь темы MQTT
Отчет карты Опубликовать позицию на публичной карте

См. MQTT для подробного руководства по использованию, включая шифрование, конфиденциальность и настройку брокера.

Последовательный модуль

Позволяет общаться через последовательный порт с внешними устройствами (GPS-модулями, датчиками или собственной техникой). Когда включено, последовательный порт ноды может отправлять и получать данные в формате protobuf или текст, что позволяет внешним микроконтроллерам или компьютерам взаимодействовать с сетью.

Настройка Описание
Включено Включить последовательное соединение
Эхо Echo получил обратно последовательные данные
Режим обмена Вывод в формате текста, Protobuf или NMEA
Пины RX/TX GPIO-пины для последовательного соединения
Скорость передачи (бод) Скорость последовательного соединения

Модуль внешних уведомлений

Управляет зуммером, светодиодом или вибрацией на вашем радиооборудовании. Полезно для устройств, которым нужно физически сигнализировать о приходе сообщения — особенно удобно для неоснащенных персоналом или уличных установок.

Настройка Описание
Включено Включить уведомления
Включить уведомление о входящем сообщении Уведомлять о входящих сообщениях
Зуммер при уведомлении Использовать буззер для сообщений
Alert Message Vibra Использовать вибрацию для сообщений
Уведомлять при 🔔 Notify on bell character
Вывод (GPIO) Пин для вывода уведомления
Активный выход High or Low active
Длительность (мс) Длительность уведомления
Использовать I2S как буззер Использовать аудиовывод I2S

Модуль Store & Forward

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Настройка Описание
Включено Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Записи Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Сервер Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Настройка Описание
Включено Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Настройка Описание
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Телеметрия воздуха Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Настройка Описание
Включено ⚠️ Устарело — текущая прошивка может игнорировать этот переключатель
Сообщения Список сообщений, разделённых новой строкой
Отправлять 🔔 Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Настройка Описание
Включено Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Настройка Описание
Включено Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Настройка Описание
Включено Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Настройка Описание
Состояние светодиода Turn the LED on or off
Ток LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Настройка Описание
Включено Activate detection sensor
Пин датчика GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Отправлять 🔔 Include bell character in alerts
Имя датчика Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Настройка Описание
Включено Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Администрирование

Удаленное администрирование

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Очистить базу данных нод

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Перезагрузка

Remotely reboot a connected or administered node.

Панель отладки

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/ru-rRU/user/settings-radio-user.html b/v2.8.0/ru-rRU/user/settings-radio-user.html deleted file mode 100644 index e419f8b219..0000000000 --- a/v2.8.0/ru-rRU/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Настройки - Радио и пользователь | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Настройки - Радио и пользователь

Настройте радиоустройство и параметры идентификации пользователя.

Настройки пользователя

Профиль пользователя

Настройка Описание
Полное имя Ваше отображаемое имя (до 39 символов)
Короткое имя 4-символьное сокращённое имя
Лицензированный оператор Включите, если у вас есть лицензия радиолюбителя (позволяет использовать более высокую мощность)

Применение изменений

После изменения настроек нажмите Сохранить чтобы записать конфигурацию в ваше радиоустройство. Устройство может перезагрузиться для применения изменений.

Настройки

Настройки устройства

Настройка Описание По умолчанию
Роль Поведение ноды (Client, Router и т.д.) Client
Режим ретрансляции Как нода повторно передает сообщения Всё
Передача информации ноды Интервал для передачи информации ноды 10800
Двойное нажатие кнопки Действие при двойном нажатии кнопки Включено

Настройка LoRa

Настройка Описание По умолчанию
Регион / Страна Область регулирования для диапазонов частот Не установлено (необходимо настроить)
Режим работы модема Компромисс между скоростью и дальностью LongFast
Лимит хопов Максимальное количество ретрансляций 3
Мощность передачи Мощность передачи (дБм); 0 = максимально разрешённая для региона 0 (максимум региона)
Частотное смещение Точная настройка частоты (МГц) 0
Полоса пропускания канала Настройка пропускной способности По умолчанию для предустановки

⚠️ Важно: Вы обязаны установить свой регион перед отправкой. Работа без правильного региона может нарушать местные правила радиопользования. Смотрите руководство по настройке региона на сайте meshtastic.org для получения подробной информации.

Предустановки модема

💡 Совет: Значения порога SNR специально отрицательные. LoRa может декодировать сигналы ниже уровня шума, поэтому более отрицательный предел означает, что пресет допускает более слабый, шумный сигнал (больший радиус действия). Смотрите Как работает измеритель сигнала для полного объяснения.

Предустановка Диапазон Скорость Предел SNR Лучше всего для
Short Turbo ~1 км 21.9 кб/с −7.5 дБ Плотная городская застройка с прямой видимостью; приложения, требующие высокой передачи данных
Short Fast ~3 км 10.9 кб/с −7.5 дБ Городские районы; здания в пределах нескольких кварталов
Short Slow ~5 км 5.5 кб/с -10 дБ Пригородная зона с коротким диапазоном; умеренная плотность застройки
Medium Fast ~5 км 5.5 кб/с −12.5 дБ Пригородные районы; умеренная плотность застройки
Medium Slow ~8 км 1.1 кб/с -15 дБ Пригородный/сельский; умеренный диапазон со сниженной скоростью
Long Turbo ~10 км 4.4 кб/с −12.5 дБ Диапазон, похожий на Long Fast, но с полосой пропускания 500 кГц; более высокая пропускная способность
Long Fast ~10 км 1.1 кб/с −17.5 дБ Общее использование (по умолчанию) — сбалансированный диапазон и скорость
Long Moderate ~20 км 0.34 кб/с −17.5 дБ Сельская местность с некоторым рельефом; случайное использование
Lite Fast ~5 км 5.5 кб/с −12.5 дБ Диапазон RU 866 МГц SRD (ширина полосы 125 кГц); аналогично Medium Fast
Lite Slow ~10 км 1.1 кб/с -15 дБ Диапазон RU 866 МГц SRD (ширина полосы 125 кГц); аналогично Long Fast
Narrow Fast ~5 км 2.7 кб/с -10 дБ Диапазон RU 868 МГц (полоса пропускания 62,5 кГц); предотвращает помехи с другими устройствами
Narrow Slow ~10 км 1.1 кб/с −12.5 дБ Диапазон RU 868 МГц (ширина полосы 62,5 кГц); аналогично Long Fast
Long Slow ~30 км 0.18 кб/с −20 дБ ⚠️ Устарел — всё ещё доступен для выбора, но может быть удален в будущих версиях прошивки
Very Long Slow ~40+ км 0.09 кб/с −20 дБ ⚠️ Устарел — всё ещё доступен для выбора, но может быть удален в будущих версиях прошивки

i Примечание: В этой таблице используются общие короткие имена. В выпадающем меню пресетов приложения они читаются как Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast и так далее.

Выбор предустановки модема

Предустановка модема управляет основным компромиссом между дальностью и скоростью передачи данных:

  • Медленные предустановки используют большее распространение, что позволяет декодировать сигналы при более слабых уровнях сигнала (ниже порога SNR). Это означает большую дальность, но меньше байт в секунду.
  • Быстрые предустановки передают больше данных за одну передачу, но требуют более сильного сигнала для декодирования.

Практическое руководство:

  • Городская сеть (много нод, короткие расстояния): Используй Long Fast (по умолчанию) или Short Fast. Более высокая скорость означает меньшее переполнение канала эфирного времени, когда многие ноды используют канал.
  • Сельская/разреженная сеть (мало нод, большие расстояния): Используй Long Moderate. Дальность важнее скорости, когда ноды находятся далеко друг от друга.
  • Соответствие нормативным требованиям RU 866/868 МГц: Используй Lite Fast, Lite Slow, Narrow Fast или Narrow Slow — они оптимизированы для диапазонов RU SRD/868 МГц с более узкой полосой пропускания.
  • Фиксированные инфраструктурные связи: Используй Short Turbo или Long Turbo для выделенных соединений точка-точка с хорошими антеннами и прямой видимостью.
  • Смешанные среды: Используй Long Fast — это настройка по умолчанию в сообществе и она обеспечит совместимость с другими в вашем регионе.

⚠️ Важно: Все ноды в одном канале должны использовать один и тот же пресет модема. Ноды с несовпадающими предустановками не смогут обмениваться данными, даже если они используют одну частоту и ключ шифрования.

💡 Совет: Указанные выше оценки дальности предполагают ровную местность и небольшие антенны. Преимущество высоты (вершина холма, крыша) значительно увеличивает эффективную дальность. Хорошо размещённый маршрутизатор с Long Fast часто может превзойти наземную ноду с Long Slow.

Параметры дисплея

Настройка Описание
Время ожидания Время до перехода в спящий режим
Единицы измерения Метрическая или имперская
Тип OLED-дисплея Авто, SSD1306, SH1106, SH1107
Ориентация компаса Смещение вращения для отображения компаса (0°, 90°, 180°, 270°)
Север компаса ⚠️ Устарело — заменено на ориентацию компаса; по-прежнему видно в старой прошивке

Настройки местоположения

Настройка Описание
GPS включен Включение/отключение GPS
Интервал обновления GPS Как часто получать GPS-фиксацию
Вещание позиции Как часто делиться местоположением
Умная позиция Включить трансляцию при движении
Фиксированная позиция Использовать вручную заданное положение

Настройка питания

Настройка Описание
Энергосбережение Включить спящий режим с низким энергопотреблением
Завершение работы через Таймер автоотключения при простое
Множитель ADC Коэффициент калибровки напряжения батареи
Ожидание Bluetooth Время ожидания подключения BLE при загрузке
Тайм-аут Mesh SDS Тайм-аут сверхглубокого сна

Настройка сети

Настройка Описание
WiFi включен Включить радиомодуль WiFi (устройства ESP32)
WiFi SSID Имя сети для подключения
WiFi PSK Пароль сети
NTP-сервер Сервер синхронизации времени
Syslog-сервер Удалённый сервер логирования

Поле IP-адреса

Настройка Bluetooth

Настройка Описание
Bluetooth включен Включение/отключение BLE радиостанции
Режим сопряжения Фиксированный PIN, случайный PIN или без PIN
Фиксированный PIN-код PIN-код для сопряжения (по умолчанию: 123456)

Настройки безопасности

Настройка Описание
Публичный ключ Публичный ключ твоей ноды (только для чтения)
Ключ администратора Ключ для удалённого администрирования
Приватный ключ Приватный ключ твоей ноды (обращайся с ним осторожно)
Канал администратора включен ⚠️ Удалено — теперь настраивается автоматически при установке ключа администратора
Журнал отладки Выводить живой отладочный лог через последовательный порт/Bluetooth
Последовательная включена Включить доступ к последовательной консоли (перемещено из настроек устройства)
Управляемый режим Ограничить изменения канала для неадминистраторов
Резервное копирование Сохранить зашифрованную резервную копию ключей ноды на этом устройстве (только для Android)
Восстановить ключи Запишисать сохранённые ключи обратно на ноду (доступно, как только есть резервная копия)
Удалить резервную копию ключа Удалить сохранённую резервную копию ключа с этого устройства
Уровень защиты Подлинность пакета — как обрабатываются неподписанные или пересылаемые пакеты: Строго, Сбалансировано или Совместимо (требуется поддержка прошивкой; Строго требует подтверждения)

Поле пароля

Настройки используют стандартные элементы управления предпочтениями — выпадающие списки, переключатели и ползунки:

Управление Снимок экрана
Выпадающий список Выпадающий список
Переключатель Переключатель
Ползунок Ползунок

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/signal-meter.html b/v2.8.0/ru-rRU/user/signal-meter.html deleted file mode 100644 index d8e32f279c..0000000000 --- a/v2.8.0/ru-rRU/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - Как работает измеритель сигнала Meshtastic | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Как работает измеритель сигнала Meshtastic

Измеритель сигнала Meshtastic — знакомые полоски или цвет состояния в приложении — рассчитывается совсем иначе, чем “полоски” на обычном мобильном телефоне или WiFi-роутере.

Большинство потребительских устройств просто измеряют, насколько “громкий” сигнал. Однако, поскольку Meshtastic использует технологию LoRa (Long Range), его измеритель сигнала оценивает, насколько чистый сигнал, относительно конкретных настроек вашей mesh-сети.


1. Две метрики: “Громкость” против “Чёткости”

Каждый раз, когда радиочип LoRa получает сообщение, он сообщает два измерения:

  • RSSI (Индикатор уровня принятого сигнала): громкость необработанного сигнала, поступающего на твою антенну.
  • SNR (Соотношение сигнал/шум): Чёткость сигнала по сравнению с фоновым шумом.

💡 Совет: Вот аналогия — представь, что пытаешься услышать, что тебе говорит друг.

  • RSSI — это громкость его голоса.
  • Минимальный уровень шума — это фоновый шум в комнате (кондиционер, разговоры других людей, движение транспорта).
  • SNR — это то, насколько легко ты можешь различить голос твоего друга на фоне шума.

Если твой друг кричит тебе на оглушительном рок-концерте, сигнал невероятно громкий (высокий RSSI), но ты всё равно не можешь его понять, потому что фоновый шум громче (плохое SNR). И наоборот, если твой друг шепчет тебе в абсолютно тихой библиотеке, сигнал очень слабый (низкий RSSI), но ты можешь его прекрасно понять (отличный SNR).


2. Магия LoRa: слышит “ниже уровня шума”

Для обычных радиоприёмников (например, FM или WiFi), если фоновый шум громче сигнала (отрицательный SNR), приёмник просто слышит шум.

LoRa особенная. Она использует модуляцию “широкополосного спектра”, которая позволяет радио математически извлекать сигнал из воздуха даже когда он глубоко под фоновым шумом. Вот почему ты часто будете видеть отрицательные значения SNR в Meshtastic (например, -10 дБ, что означает, что сигнал на 10 децибел слабее фонового шума).

В зависимости от того, какой пресет Meshtastic ты используешь (например, LongFast или ShortFast), у радиоприемника есть определённый предел SNR — абсолютное максимальное количество шума, которое он может выдержать, прежде чем сообщение полностью потеряется в помехах.


3. Как измеритель сигнала рассчитывает качество

Приложение оценивает качество сигнала (Нет, Плохо, Средне или Хорошо) только по SNR, измеренному относительно установленного порога SNR — той самой демодуляционной границы, о которой говорилось выше. Он намеренно не учитывает RSSI в оценке: без локального уровня шума RSSI не может сказать, можно ли реально декодировать сигнал, поэтому показатель SNR по сравнению с установленным лимитом является значимой мерой. (RSSI всё ещё отображается где-то ещё.)

Поскольку рейтинг зависит от заранее заданного лимита, один и тот же SNR может оцениваться по-разному на разных пресетах — -15 dB нормально для LongSlow, но непригодно для ShortFast. Допустим, limit — это предел SNR у активного пресета, вот как приложение выбирает полоски (или цвет):

Уровень Деления Критерии Значение
Хороший 3 SNR выше установленного limit Сигнал с запасом выше порога демодуляции — связь в порядке.
Средний 2 меньше чем на 5,5 дБ ниже limit Понятно, но уже почти до пола.
Плохой 1 5,5 дБ до 7,5 дБ ниже limit На самом пределе того, что может восстановить пресет.
Отсутствует 0 более чем на 7,5 дБ ниже limit Ниже порога — сигнал потерян из-за помех.

Примечание: Фиксированные пороги SNR, которые вы могли видеть где-то ещё (-7 дБ / -15 дБ), теперь используются только для окрашивания отдельных хопов в результатах трассировки — а не для измерителя сигнала на каждой ноде, о которой идёт речь здесь.


4. Что это значит для тебя

Поскольку измеритель Meshtastic действует как “Измеритель чёткости”, он ведёт себя иначе, чем ожидает большинство людей:

💡 Совет: Не паниковать из-за низкого RSSI. Вы можете увидеть, например, такой вроде бы ужасный показатель RSSI, как -118 dBm. На сотовом телефоне у тебя было бы ноль делений. Но если отношение сигнал/шум (SNR) +2 дБ, Meshtastic все равно покажет сильный сигнал! Библиотека тихая, поэтому шепот слышен идеально.

⚠️ Внимание: Остерегайтесь локального шума. Если подключить огромную антенну и увидеть отличный RSSI (например, -90 dBm), но индикатор сигнала показывает всего 1 деление (Плохо), значит, у тебя проблема. Это означает, что у тебя есть местные помехи — возможно, дешевый источник питания, шумный компьютер или расположенная рядом радиовышка — создающие столько статического шума, что он заглушает сеть.

Где появляется информация о сигнале

В приложении данные сигнала отображаются в нескольких местах:

  • Список нод — значок полос сигнала рядом с каждой нодой
  • Детали ноды — SNR, RSSI и качество сигнала в разделе метрик устройства
  • Трассировка — качество сигнала на каждой промежуточной ноде
  • Метрики сигнала — история данных SNR и RSSI на графиках метрик

Запись ноды, показывающая значения SNR, RSSI и цветные индикаторы сигнала

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/tak.html b/v2.8.0/ru-rRU/user/tak.html deleted file mode 100644 index 487e5dcf06..0000000000 --- a/v2.8.0/ru-rRU/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - Интеграция TAK | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Интеграция TAK

Meshtastic интегрируется с экосистемой Team Awareness Kit (TAK), обеспечивая взаимодействие между устройствами mesh-сети Meshtastic и приложениями TAK, такими как ATAK и WinTAK.

Обзор

Модуль TAK позволяет нодам Meshtastic:

  • Делиться данными о местоположении в формате CoT (Cursor on Target), совместимом с TAK
  • Отображаться как члены команды на картах TAK
  • Получать сообщения PLI (информация о местоположении) TAK

Настройка

Необходимые условия

  • Установлен ATAK (Android Team Awareness Kit) или WinTAK
  • Установлен Meshtastic ATAK Plugin
  • Модуль TAK включён на вашем радио Meshtastic

Настройки

  1. Перейдите в Настройки → Конфигурация модулей → TAK.
  2. Включите модуль TAK.
  3. Настройте параметры команды/группы TAK:

Переключатель модуля

Настройка Описание
Включено Активировано взаимодействие с TAK
Режим обмена Режим вывода, совместимый с TAK

Настройка плагина ATAK

  1. Установите Meshtastic ATAK Plugin из репозитория плагинов.
  2. Откройте ATAK и включите плагин Meshtastic.
  3. Плагин соединяет сообщения между ATAK и твоей mesh-сетью.

Локальный TAK-сервер

Приложение также может запускать локальный TAK-сервер, чтобы ATAK/iTAK на том же устройстве могли подключаться напрямую, без удалённого TAK-сервера. Сервер привязывается только к локальному хосту (127.0.0.1:8089) и использует TLS с взаимной аутентификацией по сертификатам (mTLS), поэтому он недоступен с других устройств в сети. Откройте Настройки → Конфигурация модулей → TAK → TAK-сервер:

Настройки локального TAK-сервера с переключателем включения и опцией экспорта

  • Включить локальный TAK-сервер — запускает mTLS-сервер только на локальную петлю на порту 8089 для подключений ATAK/iTAK с того же устройства.
  • Экспорт пакета данных TAK — создаёт пакет данных .zip, который ATAK/iTAK может импортировать для подключения к этому серверу.

Роли TAK

Ноды, настроенные с ролями, связанными с TAK, ведут себя иначе, чем стандартные клиенты:

Роль Описание
TAK Полная совместимость с TAK — отправляет и принимает данные CoT, сообщения чата и обновления PLI. Выполняет функции стандартного клиента и TAK-моста.
TAK Tracker Вывод только координат в формате TAK — автоматически передаёт PLI через равные промежутки времени без участия пользователя. Оптимизирован для автономных маячков местоположения (транспортные средства, оборудование, путевые точки). Не ретранслирует сообщения чата.

💡 Совет: Используйте TAK Tracker для устройств, которым требуется только передавать координаты (например, радио, установленное в автомобиле). Используйте TAK для устройств, где пользователи активно участвуют в операциях TAK.

Формат CoT (Cursor on Target)

Сообщения TAK используют формат XML Cursor on Target — военный стандарт для обмена данными о ситуационной осведомлённости. Meshtastic преобразует свои внутренние сообщения protobuf в формат CoT при соединении с системами TAK, поэтому ручное преобразование формата не требуется.

Идентификация в TAK

При использовании ролей TAK твоя нода передаёт идентификационную информацию, которая отображается на картах TAK:

Настройка Описание
Цвет команды Цвет твоей команды на карте TAK (например, Синий, Красный, Голубой, Зелёный)
Роль участника Твоя оперативная роль (Team Member, Team Lead, HQ, Medic, RTO и т. д.)

Эти настройки появляются в Настройки → Конфигурация модулей → TAK, когда модуль TAK включён. Твой позывной в TAK не задаётся отдельно — он автоматически берётся из имени твоей ноды Meshtastic.

💡 Совет: Цвета команд/ролей являются стандартными цветами принадлежности в TAK. Согласуй с твоей командой TAK использование единообразных назначений команд.

Формат передачи (V1 / V2)

Meshtastic поддерживает два формата передачи данных TAK, которые выбираются автоматически в зависимости от прошивки подключённого радио — ручная настройка не требуется:

Формат Совместимость Особенности
V1 (Устаревший) Прошивка 2.7.x и старше Простое кодирование protobuf на порт 72. Поддерживает только передачу местоположения (PLI) и чат (GeoChat) — фигуры, маркеры, маршруты и другие типизированные события CoT отбрасываются
V2 (Текущий) Прошивка 2.8.0 и новее Компактное кодирование со сжатием zstd на порт 78. Добавляет типы CoT: фигуры, маркеры, маршруты, воздушные суда, эвакуацию, чрезвычайные ситуации и задачи — в дополнение ко всему, что поддерживает V1

Нода продолжает ретранслировать устаревшие пакеты V1 от старых нод, даже если сама работает на V2, поэтому смешанные по прошивке mesh-сети продолжают функционировать.

Использование с ATAK

После настройки:

  • Ноды Meshtastic отображаются как маркеры на карте ATAK с подписями позывных
  • Сообщения чата могут передаваться между mesh-сетью и сетями TAK
  • Обновления местоположения передаются двунаправленно между Meshtastic и TAK
  • Ноды TAK Tracker автоматически передают PLI — их координаты отображаются на картах ATAK без какой-либо настройки на стороне ATAK

⚠️ Примечание: Для интеграции с TAK требуются определённые роли нод и настройка модуля. Стандартные клиентские ноды не участвуют в операциях TAK автоматически.

Устранение неполадок

Проблема Причина Решение
Нода не отображается на карте ATAK Модуль TAK отключён или выбрана неверная роль Убедитесь, что модуль TAK включён, а роль ноды — TAK или TAK Tracker
Данные о местоположении устарели Потерян сигнал GPS или слишком большой интервал Проверьте состояние GPS; уменьшите интервал передачи координат в настройках Position Config
Плагин ATAK показывает “не подключён” Потеряно соединение BLE или произошёл сбой плагина Переподключите Bluetooth в приложении Meshtastic, затем перезапустите плагин ATAK
Фигуры, маркеры или маршруты не передаются Отправляющая нода использует устаревший V1 (прошивка 2.7.x или старше) Обновите прошивку отправляющей ноды до 2.8.0+ для использования формата передачи V2
Данные CoT не передаются Несовпадение каналов Все ноды TAK должны находиться на одном канале с одинаковым шифрованием

Соображения безопасности

  • Данные TAK передают ваше местоположение и позывной
  • Убедись, что шифрование канала настроено при использовании TAK в чувствительных средах
  • Модуль TAK соблюдает то же шифрование канала, что и другие сообщения Meshtastic

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/telemetry-and-sensors.html b/v2.8.0/ru-rRU/user/telemetry-and-sensors.html deleted file mode 100644 index c0f9b50993..0000000000 --- a/v2.8.0/ru-rRU/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Телеметрия и датчики | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Телеметрия и датчики

Ноды Meshtastic могут собирать и передавать данные датчиков по всей mesh-сети.

Обзор

Телеметрия позволяет нодам, оснащённым датчиками, передавать информацию об окружающей среде, питании и состоянии устройства. Эти данные отображаются на экране сведений о ноде и могут регистрироваться с течением времени.

Телеметрия устройства

Все ноды Meshtastic передают базовую телеметрию устройства:

Метрика Описание Типичный диапазон
Уровень заряда Процент заряда 0–100%
Напряжение Напряжение батареи 3.0–4.2V (LiPo)
Использование канала % использованного локально эфирного времени 0–100%
Использование эфира (TX) % эфирного времени, использованного этой нодой 0–100%
Аптайм Секунд с последней загрузки Варьируется

Датчики окружающей среды

Поддерживаемые датчики окружающей среды:

Температура и влажность

Sensor Температура Влажность Давление Заметки
BME280 ✓ ✓ ✓ Рекомендуемый “всё в одном”
BME680 ✓ ✓ ✓ Добавляет сопротивление газа/IAQ
SHT31 ✓ ✓ — Высокая точность
MCP9808 ✓ — — Прецизионная температура
LPS22 — — ✓ Только давление

Качество воздуха

Sensor Метрика Заметки
BME680 Сопротивление газа / IAQ Летучие органические соединения
PMSA003I PM1.0, PM2.5, PM10 Взвешенные частицы
SEN55 PM, NOx, VOC, температура, влажность Мультисенсор

Освещённость и УФ

Sensor Метрика
OPT3001 Окружающая освещённость (люкс)
VEML7700 Окружающая освещённость (люкс)
LTR390 УФ-индекс

Метрики питания

Ноды с датчиками питания серии INA могут сообщать:

Метрика Описание
Напряжение шины Напряжение линии питания
Ток Потребляемый ток (мА)
Питание Расчётная мощность (мВт)

Полезно для мониторинга солнечной зарядки или состояния батареи на удалённых нодах.

Настройка телеметрии

  1. Перейдите в Настройки → Конфигурация модулей → Телеметрия.
  2. Установите интервалы передачи:
    • Интервал метрик устройства — как часто передавать метрики устройства
    • Интервал метрик окружающей среды — как часто передавать данные датчиков
  3. Включайте нужные типы датчиков по необходимости.

Рекомендуемые интервалы

Сценарий использования Устройство (сек.) Окружающая среда (сек.)
Городская mesh-сеть (много нод) 3600 3600
Сельская mesh-сеть (мало нод) 900 900
Метеостанция 900 300
Экономия заряда батареи 7200 7200

⚠️ Примечание: Более короткие интервалы увеличивают использование эфирного времени и расход батареи во всей mesh-сети.

Метрики качества воздуха

Ноды с датчиками взвешенных частиц или CO₂ передают данные о качестве воздуха:

Метрическая Единица Описание
PM1.0 мкг/м³ Ультрамелкие взвешенные частицы
PM2.5 мкг/м³ Мелкие взвешенные частицы
PM10 мкг/м³ Крупные взвешенные частицы
CO₂ ppm Концентрация углекислого газа

Датчики CO₂, такие как SCD4x, также сообщают собственную температуру и влажность, которые отображаются вместе с указанными выше показаниями. На основе истории PM2.5 приложение дополнительно вычисляет значение AQI EPA по методу NowCast.

Показания CO₂ окрашены по уровню опасности (Хорошо → Душно → Плохо → Опасно → Эвакуация). Точные диапазоны ppm, цвета и подробности AQI см. в разделе Метрики нод — Качество воздуха.

Данные о качестве воздуха можно просматривать в виде информационных карточек на экране сведений о ноде, строить графики за период и экспортировать в CSV.

Просмотр телеметрии

  1. Перейдите в Ноды и выберите ноду.
  2. Разделы телеметрии отображаются на экране сведений:
    • Метрики устройства (доступны всегда)
    • Метрики окружающей среды (при наличии датчиков)
    • Метрики питания (при наличии датчика INA)
    • Метрики качества воздуха (при наличии датчика PM/CO₂)
  3. Исторические графики показывают тенденции с течением времени.

Действия с телеметрией

Устранение неполадок

  • Нет данных об окружающей среде? К удалённой ноде должен быть физически подключён датчик (например, BME280 по I2C). Телеметрия устройства (заряд батареи, время работы) доступна всегда, но для метрик окружающей среды требуется оборудование.
  • Показания устарели? Проверьте интервал передачи — очень большие интервалы (7200 с и более) означают, что данные обновляются редко. Также убедитесь, что удалённая нода всё ещё в сети.
  • Конфликт датчиков на шине I2C? Некоторые датчики используют одинаковые адреса I2C. Если на одной шине несколько твоих датчиков, проверь последовательный отладочный вывод радио на предмет конфликтов адресов.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/translate.html b/v2.8.0/ru-rRU/user/translate.html deleted file mode 100644 index 8a71bbf580..0000000000 --- a/v2.8.0/ru-rRU/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Перевод приложения | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Перевод приложения

Внесение вклада в перевод помогает сделать Meshtastic доступным для более широкой аудитории. Приложение использует Crowdin для управления переводами сообщества как для пользовательского интерфейса, так и для документации в приложении.


Что переводится

Ресурс Исходное местоположение Заметки
Строки интерфейса core/resources/src/commonMain/composeResources/values/strings.xml Кнопки, ярлыки, сообщения и весь видимый пользователю текст
Страницы руководства пользователя docs/en/user/*.md Встроенная документация, отображаемая в разделе «Справка и документация»
Метаданные Fastlane fastlane/metadata/android/en-US/ Название, описание и журналы изменений в App Store

⚠️ Примечание: Страницы руководства для разработчиков только на английском. Документация, ориентированная на код и для участников, не переводится.


Как внести вклад

  1. Посетите проект Crowdin. Откройте проект Meshtastic Android на Crowdin и войдите в систему или создайте бесплатный аккаунт.
  2. Выберите свой язык. Выберите существующий язык или запросите новый, открыв GitHub issue.
  3. Переводите строки. Crowdin показывает английский исходный текст слева и ваш перевод справа. Переведите каждую строку и сохраните.
  4. Проверьте контекст. Многие строки содержат скриншоты или комментарии о контексте — проверьте их, чтобы понять, где данный текст появляется в приложении.
  5. Отправьте. Одобренные переводы автоматически включаются в следующий выпуск.

💡 Совет: Сохраняйте переводы краткими. Строки интерфейса часто появляются на кнопках, фишках или узких колонках. Если перевод значительно длиннее английского оригинала, рассмотрите возможность сокращения, чтобы смысл оставался понятным.


Добавление нового языка

Если твоего языка еще нет в списке на Crowdin:

  1. Открой задачу на GitHub для запроса нового языка.
  2. Поддерживающий добавит язык в Crowdin и настроит crowdin.yml.
  3. После добавления вы можете начать переводить сразу.

Как организованы переводы

Приложение для Android использует Compose Multiplatform resources для всех строк, видимых пользователю:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

Встроенная документация следует аналогичной схеме в папке docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Папки локалей используют конвенцию ресурсов Android {lang}-r{REGION} (например, fr-rFR, de-rDE, ja-rJP), совпадая с директориями values-*, которые используются для строк в приложении.

Приложение автоматически выбирает правильную локаль на основе настроек Язык и регион вашего устройства.


Руководство по переводу

  • Не переводите технические термины, такие как “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR” или “RSSI” — они универсальны.
  • Сохраняйте заполнители без изменений. Строки, такие как %1$s или %d, заполняются во время выполнения. Не удаляйте и не меняйте их порядок, если только грамматика вашего языка не требует этого.
  • Согласуйте тон. Приложение использует дружелюбный, прямой стиль общения. Избегайте чрезмерно официального языка.
  • Проверьте, если возможно. Измените язык устройства и откройте приложение, чтобы увидеть, как переводы выглядят в контексте.

Вопросы?

Если у тебя есть вопросы о контексте конкретной строки или нужна помощь для начала работы, создайте обсуждение на странице Meshtastic GitHub Discussions.

Спасибо за помощь в расширении охвата Meshtastic!


diff --git a/v2.8.0/ru-rRU/user/units-and-locale.html b/v2.8.0/ru-rRU/user/units-and-locale.html deleted file mode 100644 index 771648a651..0000000000 --- a/v2.8.0/ru-rRU/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Единицы измерения и локаль | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Единицы измерения и локаль

Приложение Meshtastic автоматически отображает температуру, расстояние, скорость и время в единицах, настроенных на вашем устройстве — никаких настроек внутри приложения менять не нужно.


Как это работает

Радиостанции Meshtastic всегда передают данные в метрических единицах (метры, °C, м/с, гПа и т.д.). Когда приложение получает эти данные, оно преобразует их и показывает значения в той системе единиц, которую задает локаль устройства.

На Android твои предпочтения единиц измерений определяются настройками системы Язык и регион. На настольном компьютере (JVM) приложение использует стандартную Locale JVM.

💡 Совет: тебе никогда не нужно менять единицы измерения в приложении. Измени настройки единиц измерения в системе, и все экраны в Meshtastic обновятся автоматически — детали ноды, графики телеметрии, погода, высота и многое другое.


Температура

Значения температуры от датчиков окружающей среды передаются в °C и отображаются в соответствии с предпочтительным единицами температуры твоего устройства.

Метрики окружающей среды с температурой

Твои настройки Ты видишь
Цельсий 22°C
Фаренгейт 72°F

Это влияет на все отображения температуры в приложении: телеметрия окружающей среды ноды, температура почвы, точка росы и оси диаграммы телеметрии.

Расстояние и высота

Расстояния между нодами и высоты GPS передаются в метрах и автоматически масштабируются и преобразуются.

Отображение информации о расстоянии

Твои настройки Небольшое расстояние Дальнее расстояние Высота
Метрическая 350 м 2,5 км 1200 м
Имперская 1148 фт 1,6 миль 3937 фт

Приложение использует естественное масштабирование — небольшие расстояния остаются в метрах или футах, а более дальние автоматически переключаются на километры или мили.

Где они появляются

  • Список нод — расстояние и азимут до каждой ноды
  • Детали ноды — высота, расстояние от твоего положения
  • Карта — расстояния между путевыми точками, расстояния между хопами трассировки
  • Компас — расстояние до выбранной ноды

Скорость

Наземная скорость GPS отображается в единицах скорости, предпочитаемых в твоем регионе.

Твоя настройка Ты видишь
Метрическая 12 км/ч
Имперская (США) 7 миль/ч

Ветер

Данные о скорости ветра и порывах с датчиков окружающей среды передаются в м/с и преобразуются для отображения.

Твоя настройка Ты видишь
Метрическая 5 м/с
Имперская (США) 11 миль/ч

Показания ветра отображаются в разделе среды Детали ноды и на диаграммах Телеметрия окружающей среды.

Осадки

Измерения осадков (за 1 час и за 24 часа) передаются в мм и конвертируются для отображения.

Твоя настройка Ты видишь
Метрическая 12 мм
Имперская (США) 0,5 дюймов

Единицы, которые никогда не меняются

Некоторые единицы являются международными стандартами и отображаются одинаково независимо от вашего региона:

Показатель Единица Почему
Барометрическое давление гПа Международный метеорологический стандарт
Курс / азимут ° (градусы) Универсальная навигационная конвенция
Радиация мкР/ч Стандартная единица дозиметрии
GPS координаты десятичные градусы Универсальный географический стандарт
Влажность, батарея, влажность почвы % Универсальный

Дата и время

Все отметки времени в приложении — последняя активность, время сообщений, журналы телеметрии, оси графиков — следуют настройкам даты и времени вашего устройства.

Настройка Что это контролирует Пример
24-часовой формат времени Формат часов 14:30 или 2:30 PM
Формат даты Сортировка даты 09/05/2026 или 05/09/2026

Приложение также использует относительное время в списке нод, где это имеет смысл — например, “5 минут назад” или “2 часа назад”, которое автоматически локализуется на язык твоего устройства.

Изменение системы измерений (Android)

На Android система измерений (метрическая или имперская) связана с настройкой региона:

  1. Откройте Настройки Android → Система → Язык и регион
  2. Измените свои предпочтения в Регион или Единицы измерения
  3. Вернуться к Meshtastic — значения обновляются немедленно

💡 Совет: Все форматирование производится в централизованном порядке и уважает локаль платформы, поэтому единицы измерения всегда в приложении.

Связанные темы



diff --git a/v2.8.0/ru-rRU/user/widget.html b/v2.8.0/ru-rRU/user/widget.html deleted file mode 100644 index c39f64b0c9..0000000000 --- a/v2.8.0/ru-rRU/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Виджет на главный экран | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Виджет на главный экран

На Android, Meshtastic предоставляет виджет главного экрана, который показывает статистику по живым локальным каналам с подключенного устройства без необходимости открывать приложение.

Что он покажет

Виджет показывает текущую локальную статистику подключённого радиоустройства:

  • Батарея — уровень заряда батареи радиоустройства или Питание от сети, когда работает от внешнего источника
  • ChUtil — использование канала (насколько занят канал LoRa, в процентах)
  • AirUtil — использование времени передачи (сколько рабочих циклов передаёт вашего радиоустройство)
  • Трафик — пакеты, переданные / полученные, и дубликаты
  • Relays — пересылаемые пакеты и отмены пересылки (показаны, когда радио действует как ретранслятор)

Нажми на виджет, чтобы открыть приложение, или используй его кнопку обновления для запроса свежей статистики.

💡 Совет: значения отражают радиоустройство, к которому ты подключен в данный момент. Если приложение не подключено к радиоустройству, виджет покажет последнюю известную статистику до переподключения.

Добавление виджета

  1. Долгое нажатие на пустой области твоего рабочего стола Android.
  2. Нажми Виджет.
  3. Найди Meshtastic в списке и перетащи виджет Local Stats на домашний экран.
  4. Изменение размера по мере необходимости — макет адаптируется к доступному пространству.

⚠️ Примечание: Виджет только для Android. Он недоступен для ПК или сборках для iOS.

Связанные темы

  • Метрики нод — полная статистика сигнала и локальная статистика внутри приложения
  • Подключения — подключиться к радиоустройству, чтобы виджет показывал статистику
  • Discovery — использование канала и времени передачи через сеть


diff --git a/v2.8.0/sk-rSK/index.html b/v2.8.0/sk-rSK/index.html deleted file mode 100644 index cbb7f0b14f..0000000000 --- a/v2.8.0/sk-rSK/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Popis
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/sk-rSK/user/android-auto.html b/v2.8.0/sk-rSK/user/android-auto.html deleted file mode 100644 index cbc1e6a385..0000000000 --- a/v2.8.0/sk-rSK/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Správy

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/sk-rSK/user/app-functions.html b/v2.8.0/sk-rSK/user/app-functions.html deleted file mode 100644 index f6ff9f1594..0000000000 --- a/v2.8.0/sk-rSK/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/sk-rSK/user/connections.html b/v2.8.0/sk-rSK/user/connections.html deleted file mode 100644 index b19eec8c74..0000000000 --- a/v2.8.0/sk-rSK/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Popis
🟢 Pripojený Active radio link established
🟡 Prebieha pripájanie Handshake in progress
🔴 Odpojené No active connection
⚪ Not configured Nebolo vybrané žiadne zariadenie

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/sk-rSK/user/debug-logs.html b/v2.8.0/sk-rSK/user/debug-logs.html deleted file mode 100644 index b697bde8e3..0000000000 --- a/v2.8.0/sk-rSK/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/sk-rSK/user/desktop.html b/v2.8.0/sk-rSK/user/desktop.html deleted file mode 100644 index 083a6251c0..0000000000 --- a/v2.8.0/sk-rSK/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Mapa ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Nastavenia ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/sk-rSK/user/discovery.html b/v2.8.0/sk-rSK/user/discovery.html deleted file mode 100644 index 121956248d..0000000000 --- a/v2.8.0/sk-rSK/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Popis
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Trasovanie

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Informácia o susedoch

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/sk-rSK/user/firmware.html b/v2.8.0/sk-rSK/user/firmware.html deleted file mode 100644 index bc39429615..0000000000 --- a/v2.8.0/sk-rSK/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanál Popis
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/sk-rSK/user/help-and-docs.html b/v2.8.0/sk-rSK/user/help-and-docs.html deleted file mode 100644 index 1e93c09b61..0000000000 --- a/v2.8.0/sk-rSK/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/sk-rSK/user/map-and-waypoints.html b/v2.8.0/sk-rSK/user/map-and-waypoints.html deleted file mode 100644 index a42ad851ed..0000000000 --- a/v2.8.0/sk-rSK/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Popis
Názov Short identifier (max 29 characters)
Popis Optional longer description
Icon Visual marker emoji on the map
Zamknuté If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/sk-rSK/user/messages-and-channels.html b/v2.8.0/sk-rSK/user/messages-and-channels.html deleted file mode 100644 index bed11c89fc..0000000000 --- a/v2.8.0/sk-rSK/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanále

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Popis
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Chyba Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Chyba Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Časový limit No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Žiadne rozhranie No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Žiaden kanál The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Nesprávna požiadavka Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Typ Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/sk-rSK/user/mqtt.html b/v2.8.0/sk-rSK/user/mqtt.html deleted file mode 100644 index 4aefad0632..0000000000 --- a/v2.8.0/sk-rSK/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Popis Predvolené
Server Address MQTT broker hostname mqtt.meshtastic.org
Používateľské meno Broker authentication meshdev
Heslo Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Popis
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Popis Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/sk-rSK/user/node-metrics.html b/v2.8.0/sk-rSK/user/node-metrics.html deleted file mode 100644 index 5d4290253b..0000000000 --- a/v2.8.0/sk-rSK/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Popis
Battery Level Current battery percentage
Napätie Battery voltage reading
Využitie kanálu Percentage of airtime consumed
Airtime Transmission time used by this node
Doba prevádzky Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Teplota BME280, BME680, SHT31
Vlhkosť BME280, BME680, SHT31
Barometrický tlak BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Popis
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Dobrý < 1000 Zelená
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Červená
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Popis
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Dobrý SNR above the preset’s limit
Primeraný less than 5.5 dB below the limit
Zlý 5.5 dB to 7.5 dB below the limit
Žiadny more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Popis
Bus Voltage Supply voltage
Prúd Power draw in milliamps
Napájanie Calculated wattage

Trasovanie

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Log pozície

Historical position data for nodes that share their location:

  • GPS coordinates
  • Nadmorská výška
  • Speed (if moving)
  • Timestamp for each position report

Informácia o susedoch

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/sk-rSK/user/nodes.html b/v2.8.0/sk-rSK/user/nodes.html deleted file mode 100644 index f7e318a6c9..0000000000 --- a/v2.8.0/sk-rSK/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Rola Popis
Klient Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Stlmený Klient Receives but doesn’t retransmit
Skrytý Klient Like Client Mute, plus hides from node list
Smerovač Prioritizes message forwarding; stays awake to relay
Smerovač s Oneskorením Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Sledovač Optimized for position reporting at regular intervals
Senzor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Sledovač TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Popis
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Popis
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Posledný príjem Last heard
Vzdialenosť Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/sk-rSK/user/onboarding.html b/v2.8.0/sk-rSK/user/onboarding.html deleted file mode 100644 index dc11fcb562..0000000000 --- a/v2.8.0/sk-rSK/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/sk-rSK/user/settings-module-admin.html b/v2.8.0/sk-rSK/user/settings-module-admin.html deleted file mode 100644 index 1fc699f2c6..0000000000 --- a/v2.8.0/sk-rSK/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Popis
Enabled Toggle MQTT bridge
Server MQTT broker address
Používateľské meno Authentication username
Heslo Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Popis
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Popis
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Popis
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Popis
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Popis
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Popis
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Správy Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Popis
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Popis
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Popis
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Popis
LED State Turn the LED on or off
Prúd LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Popis
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Popis
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administrácia

Administrácia na diaľku

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Reštartovať

Remotely reboot a connected or administered node.

Debug okno

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/sk-rSK/user/settings-radio-user.html b/v2.8.0/sk-rSK/user/settings-radio-user.html deleted file mode 100644 index 163e080a04..0000000000 --- a/v2.8.0/sk-rSK/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Popis
Dlhé Meno Your display name (up to 39 characters)
Krátke Meno 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Konfigurácia Zariadenia

Setting Popis Predvolené
Rola Node behavior (Client, Router, etc.) Klient
Rebroadcast Mode How the node retransmits messages Všetky
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Konfigurácia LoRa

Setting Popis Predvolené
Región Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Rýchlosť SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Konfigurácia Displeju

Setting Popis
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Popis
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Inteligentná poloha Enable movement-based broadcasting
Fixná Pozícia Use a manually set position

Power Config

Setting Popis
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Konfigurácia siete

Setting Popis
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Konfigurácia Bluetooth

Setting Popis
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Pevný PIN PIN code for pairing (default: 123456)

Security Config

Setting Popis
Verejný kľúč Your node’s public key (read-only)
Admin Key Key for remote administration
Súkromný kľúč Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/sk-rSK/user/signal-meter.html b/v2.8.0/sk-rSK/user/signal-meter.html deleted file mode 100644 index 58ee2ff4e8..0000000000 --- a/v2.8.0/sk-rSK/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Dobrý 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Primeraný 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Zlý 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Žiadny 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/sk-rSK/user/tak.html b/v2.8.0/sk-rSK/user/tak.html deleted file mode 100644 index ca4beac791..0000000000 --- a/v2.8.0/sk-rSK/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Popis
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Rola Popis
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Popis
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/sk-rSK/user/telemetry-and-sensors.html b/v2.8.0/sk-rSK/user/telemetry-and-sensors.html deleted file mode 100644 index 63be22f776..0000000000 --- a/v2.8.0/sk-rSK/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Popis Typical Range
Battery Level Charge percentage 0–100%
Napätie Battery voltage 3.0–4.2V (LiPo)
Využitie kanálu % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Doba prevádzky Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Senzor Teplota Vlhkosť Tlak Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Senzor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Senzor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Popis
Bus Voltage Supply rail voltage
Prúd Power consumption (mA)
Napájanie Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Popis
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/sk-rSK/user/translate.html b/v2.8.0/sk-rSK/user/translate.html deleted file mode 100644 index ec816ed424..0000000000 --- a/v2.8.0/sk-rSK/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/sk-rSK/user/units-and-locale.html b/v2.8.0/sk-rSK/user/units-and-locale.html deleted file mode 100644 index b4471e75c6..0000000000 --- a/v2.8.0/sk-rSK/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Teplota

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Nadmorská výška
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Rýchlosť

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Vietor

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiácia μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/sk-rSK/user/widget.html b/v2.8.0/sk-rSK/user/widget.html deleted file mode 100644 index acd39ea254..0000000000 --- a/v2.8.0/sk-rSK/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenčina
Meshtastic Docs ↗

🌐 Slovenčina — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/sl-rSI/index.html b/v2.8.0/sl-rSI/index.html deleted file mode 100644 index e0c66888a5..0000000000 --- a/v2.8.0/sl-rSI/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Opis
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/sl-rSI/user/android-auto.html b/v2.8.0/sl-rSI/user/android-auto.html deleted file mode 100644 index 253a33e3bf..0000000000 --- a/v2.8.0/sl-rSI/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Messages

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/sl-rSI/user/app-functions.html b/v2.8.0/sl-rSI/user/app-functions.html deleted file mode 100644 index 43c38bfa8e..0000000000 --- a/v2.8.0/sl-rSI/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/sl-rSI/user/connections.html b/v2.8.0/sl-rSI/user/connections.html deleted file mode 100644 index d0ef49d7b8..0000000000 --- a/v2.8.0/sl-rSI/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Opis
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 Prekinjeno No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/sl-rSI/user/debug-logs.html b/v2.8.0/sl-rSI/user/debug-logs.html deleted file mode 100644 index fb1f70651f..0000000000 --- a/v2.8.0/sl-rSI/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/sl-rSI/user/desktop.html b/v2.8.0/sl-rSI/user/desktop.html deleted file mode 100644 index 75e60ad329..0000000000 --- a/v2.8.0/sl-rSI/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/sl-rSI/user/discovery.html b/v2.8.0/sl-rSI/user/discovery.html deleted file mode 100644 index d8f7f18937..0000000000 --- a/v2.8.0/sl-rSI/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Opis
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Pot

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/sl-rSI/user/firmware.html b/v2.8.0/sl-rSI/user/firmware.html deleted file mode 100644 index 827c8f2db6..0000000000 --- a/v2.8.0/sl-rSI/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Opis
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/sl-rSI/user/help-and-docs.html b/v2.8.0/sl-rSI/user/help-and-docs.html deleted file mode 100644 index 1d09995515..0000000000 --- a/v2.8.0/sl-rSI/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/sl-rSI/user/map-and-waypoints.html b/v2.8.0/sl-rSI/user/map-and-waypoints.html deleted file mode 100644 index 1b094a6259..0000000000 --- a/v2.8.0/sl-rSI/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Opis
Ime Short identifier (max 29 characters)
Opis Optional longer description
Icon Visual marker emoji on the map
Zaklenjeno If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/sl-rSI/user/messages-and-channels.html b/v2.8.0/sl-rSI/user/messages-and-channels.html deleted file mode 100644 index 39ca458bf9..0000000000 --- a/v2.8.0/sl-rSI/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Opis
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Napaka Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Napaka Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Časovna omejitev No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Brez vmesnika No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Brez kanala The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Slaba zahteva Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/sl-rSI/user/mqtt.html b/v2.8.0/sl-rSI/user/mqtt.html deleted file mode 100644 index 115bc74a0f..0000000000 --- a/v2.8.0/sl-rSI/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Opis Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Opis
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Opis Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/sl-rSI/user/node-metrics.html b/v2.8.0/sl-rSI/user/node-metrics.html deleted file mode 100644 index 8d44baee9b..0000000000 --- a/v2.8.0/sl-rSI/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Opis
Battery Level Current battery percentage
Voltage Battery voltage reading
Uporaba kanala Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatura BME280, BME680, SHT31
Vlaga BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Opis
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Dober < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Opis
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Dober SNR above the preset’s limit
Precejšen less than 5.5 dB below the limit
Slab 5.5 dB to 7.5 dB below the limit
Brez more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Opis
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Pot

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Dnevnik lokacije

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/sl-rSI/user/nodes.html b/v2.8.0/sl-rSI/user/nodes.html deleted file mode 100644 index bb5011f1cd..0000000000 --- a/v2.8.0/sl-rSI/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Opis
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Opis
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Opis
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Nazadnje slišano Last heard
Razdalja Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/sl-rSI/user/onboarding.html b/v2.8.0/sl-rSI/user/onboarding.html deleted file mode 100644 index 9a6d017318..0000000000 --- a/v2.8.0/sl-rSI/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/sl-rSI/user/settings-module-admin.html b/v2.8.0/sl-rSI/user/settings-module-admin.html deleted file mode 100644 index 17b07cf05c..0000000000 --- a/v2.8.0/sl-rSI/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Opis
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Opis
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Opis
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Opis
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Opis
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Opis
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Opis
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Messages Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Opis
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Opis
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Opis
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Opis
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Opis
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Opis
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administracija

Administracija na daljavo

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Ponovni zagon

Remotely reboot a connected or administered node.

Plošča za odpravljanje napak

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/sl-rSI/user/settings-radio-user.html b/v2.8.0/sl-rSI/user/settings-radio-user.html deleted file mode 100644 index 1322697e8d..0000000000 --- a/v2.8.0/sl-rSI/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Opis
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Opis Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Opis Default
Regija Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Opis
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Opis
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Opis
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Opis
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Opis
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Opis
Javni ključ Your node’s public key (read-only)
Admin Key Key for remote administration
Zasebni ključ Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/sl-rSI/user/signal-meter.html b/v2.8.0/sl-rSI/user/signal-meter.html deleted file mode 100644 index c818ff44a3..0000000000 --- a/v2.8.0/sl-rSI/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Dober 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Precejšen 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Slab 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Brez 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/sl-rSI/user/tak.html b/v2.8.0/sl-rSI/user/tak.html deleted file mode 100644 index a44a64ffed..0000000000 --- a/v2.8.0/sl-rSI/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Opis
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Opis
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Opis
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/sl-rSI/user/telemetry-and-sensors.html b/v2.8.0/sl-rSI/user/telemetry-and-sensors.html deleted file mode 100644 index 042beabdff..0000000000 --- a/v2.8.0/sl-rSI/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Opis Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Uporaba kanala % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatura Vlaga Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Opis
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Opis
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/sl-rSI/user/translate.html b/v2.8.0/sl-rSI/user/translate.html deleted file mode 100644 index b536d6ad01..0000000000 --- a/v2.8.0/sl-rSI/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/sl-rSI/user/units-and-locale.html b/v2.8.0/sl-rSI/user/units-and-locale.html deleted file mode 100644 index b7777900f8..0000000000 --- a/v2.8.0/sl-rSI/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/sl-rSI/user/widget.html b/v2.8.0/sl-rSI/user/widget.html deleted file mode 100644 index e991e91a58..0000000000 --- a/v2.8.0/sl-rSI/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Slovenščina
Meshtastic Docs ↗

🌐 Slovenščina — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/sq-rAL/index.html b/v2.8.0/sq-rAL/index.html deleted file mode 100644 index 9284315a0e..0000000000 --- a/v2.8.0/sq-rAL/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Përshkrimi
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/sq-rAL/user/android-auto.html b/v2.8.0/sq-rAL/user/android-auto.html deleted file mode 100644 index dfea09d46a..0000000000 --- a/v2.8.0/sq-rAL/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

訊息

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodes

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/sq-rAL/user/app-functions.html b/v2.8.0/sq-rAL/user/app-functions.html deleted file mode 100644 index 043acc6002..0000000000 --- a/v2.8.0/sq-rAL/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/sq-rAL/user/connections.html b/v2.8.0/sq-rAL/user/connections.html deleted file mode 100644 index e1971fa070..0000000000 --- a/v2.8.0/sq-rAL/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Përshkrimi
🟢 Connected Active radio link established
🟡 Connecting Handshake in progress
🔴 I shkëputur No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/sq-rAL/user/debug-logs.html b/v2.8.0/sq-rAL/user/debug-logs.html deleted file mode 100644 index c4ffcb223b..0000000000 --- a/v2.8.0/sq-rAL/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/sq-rAL/user/desktop.html b/v2.8.0/sq-rAL/user/desktop.html deleted file mode 100644 index fcfac9beec..0000000000 --- a/v2.8.0/sq-rAL/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Map ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Settings ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/sq-rAL/user/discovery.html b/v2.8.0/sq-rAL/user/discovery.html deleted file mode 100644 index e3ebd587c1..0000000000 --- a/v2.8.0/sq-rAL/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Përshkrimi
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/sq-rAL/user/firmware.html b/v2.8.0/sq-rAL/user/firmware.html deleted file mode 100644 index 5af6aff561..0000000000 --- a/v2.8.0/sq-rAL/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Përshkrimi
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/sq-rAL/user/help-and-docs.html b/v2.8.0/sq-rAL/user/help-and-docs.html deleted file mode 100644 index e8bb24a4ff..0000000000 --- a/v2.8.0/sq-rAL/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/sq-rAL/user/map-and-waypoints.html b/v2.8.0/sq-rAL/user/map-and-waypoints.html deleted file mode 100644 index dd35a658b1..0000000000 --- a/v2.8.0/sq-rAL/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Përshkrimi
Emri Short identifier (max 29 characters)
Përshkrimi Optional longer description
Icon Visual marker emoji on the map
I bllokuar If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/sq-rAL/user/messages-and-channels.html b/v2.8.0/sq-rAL/user/messages-and-channels.html deleted file mode 100644 index 699df06f8c..0000000000 --- a/v2.8.0/sq-rAL/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Përshkrimi
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Gabim Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Gabim Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Koha e skaduar No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Nuk ka ndërfaqe No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Nuk ka kanal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Kërkesë e gabuar Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/sq-rAL/user/mqtt.html b/v2.8.0/sq-rAL/user/mqtt.html deleted file mode 100644 index 9fcfb39806..0000000000 --- a/v2.8.0/sq-rAL/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Përshkrimi Default
Server Address MQTT broker hostname mqtt.meshtastic.org
Username Broker authentication meshdev
Password Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Përshkrimi
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Përshkrimi Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/sq-rAL/user/node-metrics.html b/v2.8.0/sq-rAL/user/node-metrics.html deleted file mode 100644 index 439741c24b..0000000000 --- a/v2.8.0/sq-rAL/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Përshkrimi
Battery Level Current battery percentage
Voltage Battery voltage reading
Përdorimi i kanalit Percentage of airtime consumed
Airtime Transmission time used by this node
Uptime Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatura BME280, BME680, SHT31
Lagështia BME280, BME680, SHT31
Barometric Pressure BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Përshkrimi
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Mirë < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Përshkrimi
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Mirë SNR above the preset’s limit
Mesatar less than 5.5 dB below the limit
I Keq 5.5 dB to 7.5 dB below the limit
Asnjë more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Përshkrimi
Bus Voltage Supply voltage
Current Power draw in milliamps
Power Calculated wattage

Traceroute

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Regjistri i Pozitës

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitude
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/sq-rAL/user/nodes.html b/v2.8.0/sq-rAL/user/nodes.html deleted file mode 100644 index 83eca91f11..0000000000 --- a/v2.8.0/sq-rAL/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodes | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Nodes

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Role Përshkrimi
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtrimi Përshkrimi
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Përshkrimi
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
I fundit që u dëgjua Last heard
Distanca Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/sq-rAL/user/onboarding.html b/v2.8.0/sq-rAL/user/onboarding.html deleted file mode 100644 index 2328e3b62f..0000000000 --- a/v2.8.0/sq-rAL/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/sq-rAL/user/settings-module-admin.html b/v2.8.0/sq-rAL/user/settings-module-admin.html deleted file mode 100644 index cad28c9051..0000000000 --- a/v2.8.0/sq-rAL/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Përshkrimi
Enabled Toggle MQTT bridge
Server MQTT broker address
Username Authentication username
Password Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Përshkrimi
Enabled Activate serial communication
Echo Echo received serial data back
Mode Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Përshkrimi
Enabled Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Përshkrimi
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Përshkrimi
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Përshkrimi
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Përshkrimi
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
訊息 Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Përshkrimi
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Përshkrimi
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Përshkrimi
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Përshkrimi
LED State Turn the LED on or off
Current LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Përshkrimi
Enabled Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Përshkrimi
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administratë

Administratë e Largët

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Rindiz

Remotely reboot a connected or administered node.

Paneli i debug-ut

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/sq-rAL/user/settings-radio-user.html b/v2.8.0/sq-rAL/user/settings-radio-user.html deleted file mode 100644 index 9fd0d0cbc0..0000000000 --- a/v2.8.0/sq-rAL/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Përshkrimi
Long Name Your display name (up to 39 characters)
Short Name 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Device Config

Setting Përshkrimi Default
Role Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages All
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Përshkrimi Default
Rajon Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Përshkrimi
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Type Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Përshkrimi
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Power Config

Setting Përshkrimi
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Përshkrimi
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Config

Setting Përshkrimi
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Security Config

Setting Përshkrimi
Public Key Your node’s public key (read-only)
Admin Key Key for remote administration
Private Key Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/sq-rAL/user/signal-meter.html b/v2.8.0/sq-rAL/user/signal-meter.html deleted file mode 100644 index 92adca06ee..0000000000 --- a/v2.8.0/sq-rAL/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Mirë 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Mesatar 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
I Keq 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Asnjë 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/sq-rAL/user/tak.html b/v2.8.0/sq-rAL/user/tak.html deleted file mode 100644 index bc6facdb7b..0000000000 --- a/v2.8.0/sq-rAL/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Përshkrimi
Enabled Activate TAK interop
Mode TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Role Përshkrimi
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Përshkrimi
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/sq-rAL/user/telemetry-and-sensors.html b/v2.8.0/sq-rAL/user/telemetry-and-sensors.html deleted file mode 100644 index 804cad0563..0000000000 --- a/v2.8.0/sq-rAL/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Përshkrimi Typical Range
Battery Level Charge percentage 0–100%
Voltage Battery voltage 3.0–4.2V (LiPo)
Përdorimi i kanalit % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Uptime Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatura Lagështia Pressure Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Përshkrimi
Bus Voltage Supply rail voltage
Current Power consumption (mA)
Power Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Përshkrimi
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/sq-rAL/user/translate.html b/v2.8.0/sq-rAL/user/translate.html deleted file mode 100644 index 780f476862..0000000000 --- a/v2.8.0/sq-rAL/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/sq-rAL/user/units-and-locale.html b/v2.8.0/sq-rAL/user/units-and-locale.html deleted file mode 100644 index 1f631d529f..0000000000 --- a/v2.8.0/sq-rAL/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatura

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitude
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/sq-rAL/user/widget.html b/v2.8.0/sq-rAL/user/widget.html deleted file mode 100644 index 1591dcc250..0000000000 --- a/v2.8.0/sq-rAL/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Shqip
Meshtastic Docs ↗

🌐 Shqip — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/sr-rLatn/index.html b/v2.8.0/sr-rLatn/index.html deleted file mode 100644 index ec8a95ef0a..0000000000 --- a/v2.8.0/sr-rLatn/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Опис
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/sr-rLatn/user/android-auto.html b/v2.8.0/sr-rLatn/user/android-auto.html deleted file mode 100644 index 1d756991d7..0000000000 --- a/v2.8.0/sr-rLatn/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Поруке

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Чворови

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/sr-rLatn/user/app-functions.html b/v2.8.0/sr-rLatn/user/app-functions.html deleted file mode 100644 index 766f0a7b8a..0000000000 --- a/v2.8.0/sr-rLatn/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/sr-rLatn/user/connections.html b/v2.8.0/sr-rLatn/user/connections.html deleted file mode 100644 index 726f120846..0000000000 --- a/v2.8.0/sr-rLatn/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Иконица State Опис
🟢 Блутут повезан Active radio link established
🟡 Connecting Handshake in progress
🔴 Raskačeno No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/sr-rLatn/user/debug-logs.html b/v2.8.0/sr-rLatn/user/debug-logs.html deleted file mode 100644 index e43cfbaa7e..0000000000 --- a/v2.8.0/sr-rLatn/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Дебаг логови | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Дебаг логови

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/sr-rLatn/user/desktop.html b/v2.8.0/sr-rLatn/user/desktop.html deleted file mode 100644 index e9cad5db56..0000000000 --- a/v2.8.0/sr-rLatn/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Белешке
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Мапа ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Подешавања ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Отвори подешавања
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/sr-rLatn/user/discovery.html b/v2.8.0/sr-rLatn/user/discovery.html deleted file mode 100644 index 3498df6a46..0000000000 --- a/v2.8.0/sr-rLatn/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Опис
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Метрика What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Време емитовања Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Праћење руте

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/sr-rLatn/user/firmware.html b/v2.8.0/sr-rLatn/user/firmware.html deleted file mode 100644 index dcb6d0663c..0000000000 --- a/v2.8.0/sr-rLatn/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Ажурирања фирмвера | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Ажурирања фирмвера

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Опис
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/sr-rLatn/user/help-and-docs.html b/v2.8.0/sr-rLatn/user/help-and-docs.html deleted file mode 100644 index a2c8a74ead..0000000000 --- a/v2.8.0/sr-rLatn/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Претражи

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/sr-rLatn/user/map-and-waypoints.html b/v2.8.0/sr-rLatn/user/map-and-waypoints.html deleted file mode 100644 index d249de705c..0000000000 --- a/v2.8.0/sr-rLatn/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Опис
Назив Short identifier (max 29 characters)
Опис Optional longer description
Иконица Visual marker emoji on the map
Закључано If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/sr-rLatn/user/messages-and-channels.html b/v2.8.0/sr-rLatn/user/messages-and-channels.html deleted file mode 100644 index c3346d2199..0000000000 --- a/v2.8.0/sr-rLatn/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Канали

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Иконица Security Level Опис
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Директне поруке

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Грешка Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Грешка Meaning What to Do
Нема руте No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Isteklo vreme No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Nema interfejsa No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Nema kanala The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Нема одговора Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Loš zahtev Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/sr-rLatn/user/mqtt.html b/v2.8.0/sr-rLatn/user/mqtt.html deleted file mode 100644 index ca8b00940a..0000000000 --- a/v2.8.0/sr-rLatn/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Опис Подразумевано
Адреса сервера MQTT broker hostname mqtt.meshtastic.org
Корисничко име Broker authentication meshdev
Лозинка Broker authentication large4cats
Корен тема Base topic for messages msh
Encryption Encrypt MQTT payload Омогућено
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Онемогућено
TLS Secure connection to broker Онемогућено
Map Reporting Report position to public map Онемогућено

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Опис
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Опис Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/sr-rLatn/user/node-metrics.html b/v2.8.0/sr-rLatn/user/node-metrics.html deleted file mode 100644 index e83e46152c..0000000000 --- a/v2.8.0/sr-rLatn/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Метрика уређаја

Basic operating information reported by each node:

Метрика Опис
Ниво батерије Current battery percentage
Напон Battery voltage reading
Искоришћеност канала Percentage of airtime consumed
Време емитовања Transmission time used by this node
Време рада Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Метрике сензора

Environmental sensor data (requires compatible hardware):

Метрика Sensor Examples
Температура BME280, BME680, SHT31
Влажност BME280, BME680, SHT31
Барометарски притисак BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Метрика Unit Опис
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Боја
Dobro < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Метрика Опис
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Dobro SNR above the preset’s limit
Prihvatljiv less than 5.5 dB below the limit
Loš 5.5 dB to 7.5 dB below the limit
Bez more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Мерни подаци о снази

Power management telemetry (requires INA sensor or compatible hardware):

Метрика Опис
Bus Voltage Supply voltage
Струја Power draw in milliamps
Снага Calculated wattage

Праћење руте

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Dnevnik lokacija

Historical position data for nodes that share their location:

  • GPS coordinates
  • Висина
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/sr-rLatn/user/nodes.html b/v2.8.0/sr-rLatn/user/nodes.html deleted file mode 100644 index 2de1356d1b..0000000000 --- a/v2.8.0/sr-rLatn/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Чворови | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Чворови

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Улога Опис
Клијент Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Клијент мутиран Receives but doesn’t retransmit
Скривени клијент Like Client Mute, plus hides from node list
Рутер Prioritizes message forwarding; stays awake to relay
Рутер са кашњењем Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Трекер Optimized for position reporting at regular intervals
Сензор Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
ТАК Трекер TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Иконица Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Опис
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Опис
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Poslednji put viđeno Last heard
Udaljenost Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/sr-rLatn/user/onboarding.html b/v2.8.0/sr-rLatn/user/onboarding.html deleted file mode 100644 index b19857a6fb..0000000000 --- a/v2.8.0/sr-rLatn/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/sr-rLatn/user/settings-module-admin.html b/v2.8.0/sr-rLatn/user/settings-module-admin.html deleted file mode 100644 index 6781ab49ce..0000000000 --- a/v2.8.0/sr-rLatn/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Конфигурација модула

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Опис
Омогућено Toggle MQTT bridge
Сервер MQTT broker address
Корисничко име Authentication username
Лозинка Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Корен тема Base MQTT topic path
Извештај мапе Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Опис
Омогућено Activate serial communication
Ехо Echo received serial data back
Мод Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Опис
Омогућено Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Активан High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Опис
Омогућено Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Сервер Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Опис
Омогућено Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Опис
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Опис
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Поруке Newline-separated list of messages
Пошаљи звоно Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Опис
Омогућено Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Опис
Омогућено Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Опис
Омогућено Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Опис
LED статус Turn the LED on or off
Струја LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Опис
Омогућено Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Пошаљи звоно Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Опис
Омогућено Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administracija

Udaljena administracija

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Ресетовање на фабричка подешавања

Resets all settings to factory defaults. This cannot be undone.

Поново покрени

Remotely reboot a connected or administered node.

Panel za otklanjanje grešaka

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/sr-rLatn/user/settings-radio-user.html b/v2.8.0/sr-rLatn/user/settings-radio-user.html deleted file mode 100644 index 43be876993..0000000000 --- a/v2.8.0/sr-rLatn/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Опис
Дуго име Your display name (up to 39 characters)
Кратко име 4-character abbreviated name
Лиценцирани оператор Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Подешавања уређаја

Setting Опис Подразумевано
Улога Node behavior (Client, Router, etc.) Клијент
Режим реемитовања How the node retransmits messages Сви
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Онемогућено

LoRA подешавања

Setting Опис Подразумевано
Регион Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Брзина SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Подешавања приказа

Setting Опис
Screen Timeout Time before display sleeps
Јединице приказа Metric or Imperial
Тип OLED-а Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Подешавања позиције

Setting Опис
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Паметно позиционирање Enable movement-based broadcasting
Фиксна локација Use a manually set position

Подешавања напајња

Setting Опис
Уштеда енергије Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Конфигурација мреже

Setting Опис
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Блутут подешавања

Setting Опис
Bluetooth Enabled Enable/disable BLE radio
Мод упаривања Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Сигурносна подешавања

Setting Опис
Javni ključ Your node’s public key (read-only)
Admin Key Key for remote administration
Privatni ključ Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/sr-rLatn/user/signal-meter.html b/v2.8.0/sr-rLatn/user/signal-meter.html deleted file mode 100644 index e8ebd9b391..0000000000 --- a/v2.8.0/sr-rLatn/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Ниво Bars Criteria Meaning
Dobro 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Prihvatljiv 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Loš 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Bez 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/sr-rLatn/user/tak.html b/v2.8.0/sr-rLatn/user/tak.html deleted file mode 100644 index 93551c5c36..0000000000 --- a/v2.8.0/sr-rLatn/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Опис
Омогућено Activate TAK interop
Мод TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Улога Опис
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Опис
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/sr-rLatn/user/telemetry-and-sensors.html b/v2.8.0/sr-rLatn/user/telemetry-and-sensors.html deleted file mode 100644 index 381a50dde1..0000000000 --- a/v2.8.0/sr-rLatn/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Метрика Опис Typical Range
Ниво батерије Charge percentage 0–100%
Напон Battery voltage 3.0–4.2V (LiPo)
Искоришћеност канала % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Време рада Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Сензор Температура Влажност Pressure Белешке
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Сензор Метрика Белешке
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Сензор Метрика
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Мерни подаци о снази

Nodes with INA-series power sensors can report:

Метрика Опис
Bus Voltage Supply rail voltage
Струја Power consumption (mA)
Снага Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Метрика Unit Опис
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/sr-rLatn/user/translate.html b/v2.8.0/sr-rLatn/user/translate.html deleted file mode 100644 index 5d84d221c5..0000000000 --- a/v2.8.0/sr-rLatn/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Белешке
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/sr-rLatn/user/units-and-locale.html b/v2.8.0/sr-rLatn/user/units-and-locale.html deleted file mode 100644 index 7538ab13d7..0000000000 --- a/v2.8.0/sr-rLatn/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Температура

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Висина
Метрика 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Брзина

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Метрика 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Метрика 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Метрика 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/sr-rLatn/user/widget.html b/v2.8.0/sr-rLatn/user/widget.html deleted file mode 100644 index 78c5eeb94c..0000000000 --- a/v2.8.0/sr-rLatn/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Latinica)
Meshtastic Docs ↗

🌐 Српски (Latinica) — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/srp/index.html b/v2.8.0/srp/index.html deleted file mode 100644 index 4f788747e2..0000000000 --- a/v2.8.0/srp/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Опис
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/srp/user/android-auto.html b/v2.8.0/srp/user/android-auto.html deleted file mode 100644 index 42d75f83bb..0000000000 --- a/v2.8.0/srp/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Поруке

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Чворови

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/srp/user/app-functions.html b/v2.8.0/srp/user/app-functions.html deleted file mode 100644 index e7ea107060..0000000000 --- a/v2.8.0/srp/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/srp/user/connections.html b/v2.8.0/srp/user/connections.html deleted file mode 100644 index 2c498bddfc..0000000000 --- a/v2.8.0/srp/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Иконица State Опис
🟢 Блутут повезан Active radio link established
🟡 Connecting Handshake in progress
🔴 Раскачено No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/srp/user/debug-logs.html b/v2.8.0/srp/user/debug-logs.html deleted file mode 100644 index 804fb2dc8b..0000000000 --- a/v2.8.0/srp/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Дебаг логови | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Дебаг логови

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/srp/user/desktop.html b/v2.8.0/srp/user/desktop.html deleted file mode 100644 index 4263d660a4..0000000000 --- a/v2.8.0/srp/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Белешке
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Мапа ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Подешавања ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Отвори подешавања
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/srp/user/discovery.html b/v2.8.0/srp/user/discovery.html deleted file mode 100644 index c49a079c37..0000000000 --- a/v2.8.0/srp/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Опис
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Метрика What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Време емитовања Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Праћење руте

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Neighbor Info

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/srp/user/firmware.html b/v2.8.0/srp/user/firmware.html deleted file mode 100644 index ddbe314822..0000000000 --- a/v2.8.0/srp/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Ажурирања фирмвера | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Ажурирања фирмвера

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Канал Опис
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/srp/user/help-and-docs.html b/v2.8.0/srp/user/help-and-docs.html deleted file mode 100644 index 1791e8e305..0000000000 --- a/v2.8.0/srp/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Претражи

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/srp/user/map-and-waypoints.html b/v2.8.0/srp/user/map-and-waypoints.html deleted file mode 100644 index 35b6f305e2..0000000000 --- a/v2.8.0/srp/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Опис
Име Short identifier (max 29 characters)
Опис Optional longer description
Иконица Visual marker emoji on the map
Закључан If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/srp/user/messages-and-channels.html b/v2.8.0/srp/user/messages-and-channels.html deleted file mode 100644 index a3e3755d54..0000000000 --- a/v2.8.0/srp/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Канали

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Иконица Security Level Опис
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Директне поруке

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Грешка Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Грешка Meaning What to Do
Нема руте No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Временско ограничење No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Нема интерфејса No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Нема канала The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Нема одговора Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Лош захтев Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Type Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/srp/user/mqtt.html b/v2.8.0/srp/user/mqtt.html deleted file mode 100644 index c2f66314d0..0000000000 --- a/v2.8.0/srp/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Опис Подразумевано
Адреса сервера MQTT broker hostname mqtt.meshtastic.org
Корисничко име Broker authentication meshdev
Лозинка Broker authentication large4cats
Корен тема Base topic for messages msh
Encryption Encrypt MQTT payload Омогућено
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Онемогућено
TLS Secure connection to broker Онемогућено
Map Reporting Report position to public map Онемогућено

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Опис
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Опис Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/srp/user/node-metrics.html b/v2.8.0/srp/user/node-metrics.html deleted file mode 100644 index b32b5181f7..0000000000 --- a/v2.8.0/srp/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Метрика уређаја

Basic operating information reported by each node:

Метрика Опис
Ниво батерије Current battery percentage
Напон Battery voltage reading
Искоришћеност канала Percentage of airtime consumed
Време емитовања Transmission time used by this node
Време рада Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Метрике сензора

Environmental sensor data (requires compatible hardware):

Метрика Sensor Examples
Температура BME280, BME680, SHT31
Влажност BME280, BME680, SHT31
Барометарски притисак BME280, BMP280
Gas Resistance BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Метрика Unit Опис
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Боја
Добро < 1000 Green
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Red
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Метрика Опис
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Добро SNR above the preset’s limit
Прихватљив less than 5.5 dB below the limit
Лош 5.5 dB to 7.5 dB below the limit
Ништа more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Мерни подаци о снази

Power management telemetry (requires INA sensor or compatible hardware):

Метрика Опис
Bus Voltage Supply voltage
Струја Power draw in milliamps
Снага Calculated wattage

Праћење руте

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Логови позиција

Historical position data for nodes that share their location:

  • GPS coordinates
  • Висина
  • Speed (if moving)
  • Timestamp for each position report

Neighbor Info

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/srp/user/nodes.html b/v2.8.0/srp/user/nodes.html deleted file mode 100644 index f6951f1a74..0000000000 --- a/v2.8.0/srp/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Чворови | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Чворови

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Улога Опис
Клијент Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Клијент мутиран Receives but doesn’t retransmit
Скривени клијент Like Client Mute, plus hides from node list
Рутер Prioritizes message forwarding; stays awake to relay
Рутер са кашњењем Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Трекер Optimized for position reporting at regular intervals
Сензор Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
ТАК Трекер TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Иконица Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Филтер Опис
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Опис
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Последње откривање Last heard
Раздаљина Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/srp/user/onboarding.html b/v2.8.0/srp/user/onboarding.html deleted file mode 100644 index c4d9fbeba5..0000000000 --- a/v2.8.0/srp/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/srp/user/settings-module-admin.html b/v2.8.0/srp/user/settings-module-admin.html deleted file mode 100644 index 9f6c4e8311..0000000000 --- a/v2.8.0/srp/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Конфигурација модула

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Опис
Омогућено Toggle MQTT bridge
Сервер MQTT broker address
Корисничко име Authentication username
Лозинка Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Корен тема Base MQTT topic path
Извештај мапе Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Опис
Омогућено Activate serial communication
Ехо Echo received serial data back
Мод Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Опис
Омогућено Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Активан High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Опис
Омогућено Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Сервер Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Опис
Омогућено Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Опис
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Опис
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Поруке Newline-separated list of messages
Пошаљи звоно Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Опис
Омогућено Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Опис
Омогућено Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Опис
Омогућено Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Опис
LED статус Turn the LED on or off
Струја LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Опис
Омогућено Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Пошаљи звоно Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Опис
Омогућено Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Администрација

Удаљена администрација

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Ресетовање на фабричка подешавања

Resets all settings to factory defaults. This cannot be undone.

Поновно покретање

Remotely reboot a connected or administered node.

Панел за отклањање грешака

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/srp/user/settings-radio-user.html b/v2.8.0/srp/user/settings-radio-user.html deleted file mode 100644 index ac96e8a2e1..0000000000 --- a/v2.8.0/srp/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Опис
Дуго име Your display name (up to 39 characters)
Кратко име 4-character abbreviated name
Лиценцирани оператор Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

Подешавања уређаја

Setting Опис Подразумевано
Улога Node behavior (Client, Router, etc.) Клијент
Режим реемитовања How the node retransmits messages Сви
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Онемогућено

LoRA подешавања

Setting Опис Подразумевано
Регион Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Брзина SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Подешавања приказа

Setting Опис
Screen Timeout Time before display sleeps
Јединице приказа Metric or Imperial
Тип OLED-а Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Подешавања позиције

Setting Опис
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Паметно позиционирање Enable movement-based broadcasting
Фиксна локација Use a manually set position

Подешавања напајња

Setting Опис
Уштеда енергије Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Конфигурација мреже

Setting Опис
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP Server Time synchronization server
Syslog Server Remote logging server

IP address field

Блутут подешавања

Setting Опис
Bluetooth Enabled Enable/disable BLE radio
Мод упаривања Fixed PIN, Random PIN, or No PIN
Fixed PIN PIN code for pairing (default: 123456)

Сигурносна подешавања

Setting Опис
Јавни кључ Your node’s public key (read-only)
Admin Key Key for remote administration
Приватни кључ Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Managed Mode Restrict non-admin channel changes
Backup Keys Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/srp/user/signal-meter.html b/v2.8.0/srp/user/signal-meter.html deleted file mode 100644 index fff1f92eea..0000000000 --- a/v2.8.0/srp/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Ниво Bars Criteria Meaning
Добро 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Прихватљив 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Лош 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Ништа 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/srp/user/tak.html b/v2.8.0/srp/user/tak.html deleted file mode 100644 index 67945ce67f..0000000000 --- a/v2.8.0/srp/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Опис
Омогућено Activate TAK interop
Мод TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Улога Опис
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Опис
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/srp/user/telemetry-and-sensors.html b/v2.8.0/srp/user/telemetry-and-sensors.html deleted file mode 100644 index e229b2afa5..0000000000 --- a/v2.8.0/srp/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Метрика Опис Typical Range
Ниво батерије Charge percentage 0–100%
Напон Battery voltage 3.0–4.2V (LiPo)
Искоришћеност канала % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Време рада Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Сензор Температура Влажност Pressure Белешке
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Сензор Метрика Белешке
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Сензор Метрика
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Мерни подаци о снази

Nodes with INA-series power sensors can report:

Метрика Опис
Bus Voltage Supply rail voltage
Струја Power consumption (mA)
Снага Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Метрика Unit Опис
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/srp/user/translate.html b/v2.8.0/srp/user/translate.html deleted file mode 100644 index d7e9d32a8f..0000000000 --- a/v2.8.0/srp/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Белешке
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/srp/user/units-and-locale.html b/v2.8.0/srp/user/units-and-locale.html deleted file mode 100644 index bef3ac59b0..0000000000 --- a/v2.8.0/srp/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Температура

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Висина
Метрика 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Брзина

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Метрика 12 km/h
Imperial (US) 7 mph

Wind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Метрика 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Метрика 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radiation μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/srp/user/widget.html b/v2.8.0/srp/user/widget.html deleted file mode 100644 index 3605565309..0000000000 --- a/v2.8.0/srp/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Српски (Ћирилица)
Meshtastic Docs ↗

🌐 Српски (Ћирилица) — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/sv-rSE/index.html b/v2.8.0/sv-rSE/index.html deleted file mode 100644 index 7fd9286e27..0000000000 --- a/v2.8.0/sv-rSE/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Beskrivning
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/sv-rSE/user/android-auto.html b/v2.8.0/sv-rSE/user/android-auto.html deleted file mode 100644 index 8c4b3d9f27..0000000000 --- a/v2.8.0/sv-rSE/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Meddelanden

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Noder

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/sv-rSE/user/app-functions.html b/v2.8.0/sv-rSE/user/app-functions.html deleted file mode 100644 index a1221dcac4..0000000000 --- a/v2.8.0/sv-rSE/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/sv-rSE/user/connections.html b/v2.8.0/sv-rSE/user/connections.html deleted file mode 100644 index 0a69338e28..0000000000 --- a/v2.8.0/sv-rSE/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Beskrivning
🟢 Ansluten Active radio link established
🟡 Ansluter Handshake in progress
🔴 Frånkopplad No active connection
⚪ Not configured Ingen enhet vald

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/sv-rSE/user/debug-logs.html b/v2.8.0/sv-rSE/user/debug-logs.html deleted file mode 100644 index 40351b9fc2..0000000000 --- a/v2.8.0/sv-rSE/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/sv-rSE/user/desktop.html b/v2.8.0/sv-rSE/user/desktop.html deleted file mode 100644 index 3521617ede..0000000000 --- a/v2.8.0/sv-rSE/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Anteckningar
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Karta ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Inställningar ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Uppdatering av fast programvara ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/sv-rSE/user/discovery.html b/v2.8.0/sv-rSE/user/discovery.html deleted file mode 100644 index 618c545b3f..0000000000 --- a/v2.8.0/sv-rSE/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Upptäckt | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Upptäckt

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Beskrivning
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Kanalutnyttjande How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Traceroute (spåra rutt)

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Granninformation

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/sv-rSE/user/firmware.html b/v2.8.0/sv-rSE/user/firmware.html deleted file mode 100644 index a58db55fc3..0000000000 --- a/v2.8.0/sv-rSE/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Beskrivning
Stabil version Recommended for most users; tested releases
Alfa Preview releases; may contain bugs
Lokal fil Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Felsökning

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/sv-rSE/user/help-and-docs.html b/v2.8.0/sv-rSE/user/help-and-docs.html deleted file mode 100644 index e1413c40c7..0000000000 --- a/v2.8.0/sv-rSE/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/sv-rSE/user/map-and-waypoints.html b/v2.8.0/sv-rSE/user/map-and-waypoints.html deleted file mode 100644 index 06589ee8b0..0000000000 --- a/v2.8.0/sv-rSE/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Beskrivning
Namn Short identifier (max 29 characters)
Beskrivning Optional longer description
Icon Visual marker emoji on the map
Låst If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Kartlager

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/sv-rSE/user/messages-and-channels.html b/v2.8.0/sv-rSE/user/messages-and-channels.html deleted file mode 100644 index 8f1b0bf28e..0000000000 --- a/v2.8.0/sv-rSE/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanaler

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Kanalsäkerhet

Channels support multiple encryption levels:

Icon Security Level Beskrivning
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Levererad till nät For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Fel Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Fel Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Timeout No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Inget gränssnitt No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Ingen kanal The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Inget svar Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Misslyckad Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Typ Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/sv-rSE/user/mqtt.html b/v2.8.0/sv-rSE/user/mqtt.html deleted file mode 100644 index 78d6ea5ab9..0000000000 --- a/v2.8.0/sv-rSE/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Konfiguration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Beskrivning Förvald
Server Address MQTT broker hostname mqtt.meshtastic.org
Användarnamn Broker authentication meshdev
Lösenord Broker authentication large4cats
Root Topic Base topic for messages msh
Kryptering Encrypt MQTT payload Aktiverad
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Beskrivning
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Beskrivning Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Felsökning

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/sv-rSE/user/node-metrics.html b/v2.8.0/sv-rSE/user/node-metrics.html deleted file mode 100644 index 5f3cf44c8b..0000000000 --- a/v2.8.0/sv-rSE/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Enhetens mätvärden

Basic operating information reported by each node:

Metric Beskrivning
Battery Level Current battery percentage
Spänning Battery voltage reading
Kanalutnyttjande Percentage of airtime consumed
Airtime Transmission time used by this node
Upptid Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Miljövärden

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Temperatur BME280, BME680, SHT31
Luftfuktighet BME280, BME680, SHT31
Lufttryck BME280, BMP280
Gasmotstånd BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Beskrivning
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Bra < 1000 Grönt
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Rött
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Beskrivning
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Bra SNR above the preset’s limit
Ok less than 5.5 dB below the limit
Dålig 5.5 dB to 7.5 dB below the limit
Ingen more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Strömdata

Power management telemetry (requires INA sensor or compatible hardware):

Metric Beskrivning
Bus Voltage Supply voltage
Ström Power draw in milliamps
Ström Calculated wattage

Traceroute (spåra rutt)

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Loggbok

Historical position data for nodes that share their location:

  • GPS coordinates
  • Altitud
  • Speed (if moving)
  • Timestamp for each position report

Granninformation

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/sv-rSE/user/nodes.html b/v2.8.0/sv-rSE/user/nodes.html deleted file mode 100644 index 098c762bff..0000000000 --- a/v2.8.0/sv-rSE/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Noder | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Noder

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Roll Beskrivning
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Ta bort nod

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filter Beskrivning
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Beskrivning
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Batterinivå Battery
Hop count Hops
Senast hörd Last heard
Avstånd Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/sv-rSE/user/onboarding.html b/v2.8.0/sv-rSE/user/onboarding.html deleted file mode 100644 index 0b7fb8e098..0000000000 --- a/v2.8.0/sv-rSE/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Kom igång | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Kom igång

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/sv-rSE/user/settings-module-admin.html b/v2.8.0/sv-rSE/user/settings-module-admin.html deleted file mode 100644 index 1e70b5618b..0000000000 --- a/v2.8.0/sv-rSE/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Beskrivning
Aktiverad Toggle MQTT bridge
Server MQTT broker address
Användarnamn Authentication username
Lösenord Authentication password
Kryptering Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Beskrivning
Aktiverad Activate serial communication
Eko Echo received serial data back
Typ Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Hastighet Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Beskrivning
Aktiverad Activate notifications
Meddelande-utgång Notify on incoming messages
Meddelande-summer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Klock-tecken-utgång Notify on bell character
Output (GPIO) Pin for notification output
Aktiv High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Beskrivning
Aktiverad Activate store and forward
Pulsera Periodically announce this node’s store-and-forward capability
Post Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Server Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Beskrivning
Aktiverad Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Beskrivning
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Aktivera luftkvalitet Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Beskrivning
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Meddelanden Newline-separated list of messages
Skicka klocka Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Beskrivning
Aktiverad Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Beskrivning
Aktiverad Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Beskrivning
Aktiverad Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Beskrivning
LED-läge Turn the LED on or off
Ström LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Beskrivning
Aktiverad Activate detection sensor
Stift att övervaka GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Skicka klocka Include bell character in alerts
Visningsnamn Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Beskrivning
Aktiverad Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Administration

Fjärradministration

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Rensa noddatabas

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Starta om

Remotely reboot a connected or administered node.

Felsökningspanel

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/sv-rSE/user/settings-radio-user.html b/v2.8.0/sv-rSE/user/settings-radio-user.html deleted file mode 100644 index d92ca290c7..0000000000 --- a/v2.8.0/sv-rSE/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

Användarinställningar

User Profile

Setting Beskrivning
Långt namn Your display name (up to 39 characters)
Kort namn 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Konfiguration

Enhetskonfiguration

Setting Beskrivning Förvald
Roll Node behavior (Client, Router, etc.) Client
Återutsändningsläge How the node retransmits messages Alla
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Config

Setting Beskrivning Förvald
Region Regulatory region for frequency bands Unset (must configure)
Modem-förinställningar Speed/range tradeoff LongFast
Hoppgräns Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frekvensförskjutning Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Hastighet SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Display Config

Setting Beskrivning
Tidsgräns för display Time before display sleeps
Enheter Metric or Imperial
OLED-typ Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Beskrivning
GPS Enabled Enable/disable GPS
Intervall för GPS-uppdatering How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart position Enable movement-based broadcasting
Fast plats Use a manually set position

Ströminställningar

Setting Beskrivning
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Network Config

Setting Beskrivning
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Nätverkslösenord
NTP-server Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth-inställningar

Setting Beskrivning
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Fast PIN PIN code for pairing (default: 123456)

Security Config

Setting Beskrivning
Publik nyckel Your node’s public key (read-only)
Admin-nyckel Key for remote administration
Privat nyckel Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Hanterat läge Restrict non-admin channel changes
Säkerhetskopiera nycklar Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/sv-rSE/user/signal-meter.html b/v2.8.0/sv-rSE/user/signal-meter.html deleted file mode 100644 index 8c8a743c22..0000000000 --- a/v2.8.0/sv-rSE/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Bra 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Ok 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Dålig 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Ingen 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/sv-rSE/user/tak.html b/v2.8.0/sv-rSE/user/tak.html deleted file mode 100644 index b64c3ca983..0000000000 --- a/v2.8.0/sv-rSE/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Konfiguration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Beskrivning
Aktiverad Activate TAK interop
Typ TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Roll Beskrivning
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Beskrivning
Lagfärg Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Felsökning

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/sv-rSE/user/telemetry-and-sensors.html b/v2.8.0/sv-rSE/user/telemetry-and-sensors.html deleted file mode 100644 index be7eefb17c..0000000000 --- a/v2.8.0/sv-rSE/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Beskrivning Typical Range
Battery Level Charge percentage 0–100%
Spänning Battery voltage 3.0–4.2V (LiPo)
Kanalutnyttjande % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Upptid Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Temperatur Luftfuktighet Tryck Anteckningar
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Anteckningar
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Strömdata

Nodes with INA-series power sensors can report:

Metric Beskrivning
Bus Voltage Supply rail voltage
Ström Power consumption (mA)
Ström Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Beskrivning
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Felsökning

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/sv-rSE/user/translate.html b/v2.8.0/sv-rSE/user/translate.html deleted file mode 100644 index 4192bae7d7..0000000000 --- a/v2.8.0/sv-rSE/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Anteckningar
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/sv-rSE/user/units-and-locale.html b/v2.8.0/sv-rSE/user/units-and-locale.html deleted file mode 100644 index 3b48206c8d..0000000000 --- a/v2.8.0/sv-rSE/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Temperatur

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Altitud
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Hastighet

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Vind

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Strålning μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/sv-rSE/user/widget.html b/v2.8.0/sv-rSE/user/widget.html deleted file mode 100644 index 05865c53fc..0000000000 --- a/v2.8.0/sv-rSE/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Svenska
Meshtastic Docs ↗

🌐 Svenska — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/tr-rTR/index.html b/v2.8.0/tr-rTR/index.html deleted file mode 100644 index 851e562436..0000000000 --- a/v2.8.0/tr-rTR/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide Açıklaması
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/tr-rTR/user/android-auto.html b/v2.8.0/tr-rTR/user/android-auto.html deleted file mode 100644 index 9e0e0c78a0..0000000000 --- a/v2.8.0/tr-rTR/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Genel Bakış

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Mesajlar

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Nodelar

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/tr-rTR/user/app-functions.html b/v2.8.0/tr-rTR/user/app-functions.html deleted file mode 100644 index e4529d9806..0000000000 --- a/v2.8.0/tr-rTR/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/tr-rTR/user/connections.html b/v2.8.0/tr-rTR/user/connections.html deleted file mode 100644 index 612f3410e8..0000000000 --- a/v2.8.0/tr-rTR/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Bağlantılar | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Bağlantılar

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Açıklaması
🟢 Bağlandı Active radio link established
🟡 Bağlanıyor Handshake in progress
🔴 Bağlantı kesildi No active connection
⚪ Not configured No device selected

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/tr-rTR/user/debug-logs.html b/v2.8.0/tr-rTR/user/debug-logs.html deleted file mode 100644 index 60e1fb1559..0000000000 --- a/v2.8.0/tr-rTR/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/tr-rTR/user/desktop.html b/v2.8.0/tr-rTR/user/desktop.html deleted file mode 100644 index dea0c291d6..0000000000 --- a/v2.8.0/tr-rTR/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Notes
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Harita ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Ayarlar ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Firmware Update ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/tr-rTR/user/discovery.html b/v2.8.0/tr-rTR/user/discovery.html deleted file mode 100644 index ff9c77834f..0000000000 --- a/v2.8.0/tr-rTR/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Açıklaması
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Yol izle

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Komşu Bilgisi

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/tr-rTR/user/firmware.html b/v2.8.0/tr-rTR/user/firmware.html deleted file mode 100644 index 2c2affa341..0000000000 --- a/v2.8.0/tr-rTR/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Kanal Açıklaması
Stable Recommended for most users; tested releases
Alpha Preview releases; may contain bugs
Local File Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/tr-rTR/user/help-and-docs.html b/v2.8.0/tr-rTR/user/help-and-docs.html deleted file mode 100644 index ebca98bb60..0000000000 --- a/v2.8.0/tr-rTR/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/tr-rTR/user/map-and-waypoints.html b/v2.8.0/tr-rTR/user/map-and-waypoints.html deleted file mode 100644 index 97a91278c9..0000000000 --- a/v2.8.0/tr-rTR/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Açıklaması
İsmi Short identifier (max 29 characters)
Açıklaması Optional longer description
Icon Visual marker emoji on the map
Kilitli If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Map Layers

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/tr-rTR/user/messages-and-channels.html b/v2.8.0/tr-rTR/user/messages-and-channels.html deleted file mode 100644 index a9a9bdc31d..0000000000 --- a/v2.8.0/tr-rTR/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Kanallar

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Channel Security

Channels support multiple encryption levels:

Icon Security Level Açıklaması
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Delivered to mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Routing via SF++ chain… Being routed/buffered by the Store & Forward Plus Plus chain
Confirmed on SF++ chain Confirmed delivered via the SF++ chain
Hata Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Hata Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Zaman Aşımı No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Arayüz Yok No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Kanal yok The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
No Response Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Geçersiz İstek Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Tip Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/tr-rTR/user/mqtt.html b/v2.8.0/tr-rTR/user/mqtt.html deleted file mode 100644 index c44b48b63b..0000000000 --- a/v2.8.0/tr-rTR/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Genel Bakış

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Yapılandırma

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Açıklaması Varsayılan
Server Address MQTT broker hostname mqtt.meshtastic.org
Kullanıcı adı Broker authentication meshdev
Şifre Broker authentication large4cats
Root Topic Base topic for messages msh
Encryption Encrypt MQTT payload Açık
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Açıklaması
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Açıklaması Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/tr-rTR/user/node-metrics.html b/v2.8.0/tr-rTR/user/node-metrics.html deleted file mode 100644 index 1df87dafef..0000000000 --- a/v2.8.0/tr-rTR/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Device Metrics

Basic operating information reported by each node:

Metric Açıklaması
Battery Level Current battery percentage
Voltaj Battery voltage reading
Kanal Kullanımı Percentage of airtime consumed
Airtime Transmission time used by this node
Çalışma Süresi Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Environment Metrics

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Sıcaklık BME280, BME680, SHT31
Nem BME280, BME680, SHT31
Barometrik Basınç BME280, BMP280
Gaz Direnci BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Açıklaması
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
İyi < 1000 Yeşil
Stuffy < 2000 Amber
Poor < 5000 Orange
Unsafe < 30000 Kırmızı
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Açıklaması
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
İyi SNR above the preset’s limit
İdare Eder less than 5.5 dB below the limit
Kötü 5.5 dB to 7.5 dB below the limit
Yok more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Power Metrics

Power management telemetry (requires INA sensor or compatible hardware):

Metric Açıklaması
Bus Voltage Supply voltage
Akım Power draw in milliamps
Güç Calculated wattage

Yol izle

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Konum Kayıtları

Historical position data for nodes that share their location:

  • GPS coordinates
  • Rakım
  • Speed (if moving)
  • Timestamp for each position report

Komşu Bilgisi

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/tr-rTR/user/nodes.html b/v2.8.0/tr-rTR/user/nodes.html deleted file mode 100644 index 5bced01027..0000000000 --- a/v2.8.0/tr-rTR/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Nodelar | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Nodelar

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Rol Açıklaması
Client Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Tracker Optimized for position reporting at regular intervals
Sensor Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Node sil

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Filtre Açıklaması
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Açıklaması
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Battery level Battery
Hop count Hops
Son duyulma Last heard
Mesafe Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/tr-rTR/user/onboarding.html b/v2.8.0/tr-rTR/user/onboarding.html deleted file mode 100644 index 36ccd5e6bf..0000000000 --- a/v2.8.0/tr-rTR/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/tr-rTR/user/settings-module-admin.html b/v2.8.0/tr-rTR/user/settings-module-admin.html deleted file mode 100644 index b12d6b1609..0000000000 --- a/v2.8.0/tr-rTR/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Açıklaması
Açık Toggle MQTT bridge
Sunucu MQTT broker address
Kullanıcı adı Authentication username
Şifre Authentication password
Encryption Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Açıklaması
Açık Activate serial communication
Echo Echo received serial data back
Mod Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Açıklaması
Açık Activate notifications
Uyarı Mesajı Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Aktif High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Açıklaması
Açık Activate store and forward
Kalp atışı Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Sunucu Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Açıklaması
Açık Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Açıklaması
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Açıklaması
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Mesajlar Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Açıklaması
Açık Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Açıklaması
Açık Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Açıklaması
Açık Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Açıklaması
LED State Turn the LED on or off
Akım LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Açıklaması
Açık Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Açıklaması
Açık Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Yönetim

Uzaktan Yönetim

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Clean Node Database

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Yeniden başlat

Remotely reboot a connected or administered node.

Hata Ayıklama Paneli

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/tr-rTR/user/settings-radio-user.html b/v2.8.0/tr-rTR/user/settings-radio-user.html deleted file mode 100644 index cf2fad33bc..0000000000 --- a/v2.8.0/tr-rTR/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Açıklaması
Uzun Ad Your display name (up to 39 characters)
Kısa Ad 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Yapılandırma

Cihaz Ayarı

Setting Açıklaması Varsayılan
Rol Node behavior (Client, Router, etc.) Client
Rebroadcast Mode How the node retransmits messages Hepsi
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa Ayarı

Setting Açıklaması Varsayılan
Bölge Regulatory region for frequency bands Unset (must configure)
Modem Ön Ayarı Speed/range tradeoff LongFast
Hop Limiti Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Speed SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Akran Ayarı

Setting Açıklaması
Screen Timeout Time before display sleeps
Display Units Metric or Imperial
OLED Tipi Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Konum Ayarı

Setting Açıklaması
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Smart Position Enable movement-based broadcasting
Fixed Position Use a manually set position

Güç Ayarı

Setting Açıklaması
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Ağ Ayarı

Setting Açıklaması
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Ağ şifresi
NTP Sunucusu Time synchronization server
Syslog Server Remote logging server

IP address field

Bluetooth Ayarı

Setting Açıklaması
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Sabit PIN PIN code for pairing (default: 123456)

Güvenlik Ayarı

Setting Açıklaması
Genel Anahtar Your node’s public key (read-only)
Yönetici Anahtarı Key for remote administration
Özel Anahtar Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Yönetilen Mod Restrict non-admin channel changes
Anahtarları Yedekle Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/tr-rTR/user/signal-meter.html b/v2.8.0/tr-rTR/user/signal-meter.html deleted file mode 100644 index 07836173f8..0000000000 --- a/v2.8.0/tr-rTR/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
İyi 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
İdare Eder 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Kötü 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Yok 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/tr-rTR/user/tak.html b/v2.8.0/tr-rTR/user/tak.html deleted file mode 100644 index 0d9e9a8e27..0000000000 --- a/v2.8.0/tr-rTR/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Genel Bakış

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Yapılandırma

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Açıklaması
Açık Activate TAK interop
Mod TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Rol Açıklaması
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Açıklaması
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Özellikler
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/tr-rTR/user/telemetry-and-sensors.html b/v2.8.0/tr-rTR/user/telemetry-and-sensors.html deleted file mode 100644 index 99d130d9f0..0000000000 --- a/v2.8.0/tr-rTR/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Genel Bakış

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Açıklaması Typical Range
Battery Level Charge percentage 0–100%
Voltaj Battery voltage 3.0–4.2V (LiPo)
Kanal Kullanımı % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Çalışma Süresi Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Sensor Sıcaklık Nem Basınç Notes
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Sensor Metric Notes
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Sensor Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Power Metrics

Nodes with INA-series power sensors can report:

Metric Açıklaması
Bus Voltage Supply rail voltage
Akım Power consumption (mA)
Güç Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Açıklaması
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/tr-rTR/user/translate.html b/v2.8.0/tr-rTR/user/translate.html deleted file mode 100644 index af678c7655..0000000000 --- a/v2.8.0/tr-rTR/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Notes
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


Nasıl Katkıda Bulunulur

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Meshtastic’in erişimini genişletmemize yardımcı olduğunuz için teşekkür ederiz!


diff --git a/v2.8.0/tr-rTR/user/units-and-locale.html b/v2.8.0/tr-rTR/user/units-and-locale.html deleted file mode 100644 index 54ce8b8b43..0000000000 --- a/v2.8.0/tr-rTR/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Sıcaklık

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Rakım
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Speed

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Rüzgar

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Radyasyon μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/tr-rTR/user/widget.html b/v2.8.0/tr-rTR/user/widget.html deleted file mode 100644 index ed5043edd9..0000000000 --- a/v2.8.0/tr-rTR/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Türkçe
Meshtastic Docs ↗

🌐 Türkçe — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/uk-rUA/index.html b/v2.8.0/uk-rUA/index.html deleted file mode 100644 index c90f481dcd..0000000000 --- a/v2.8.0/uk-rUA/index.html +++ /dev/null @@ -1 +0,0 @@ - Головна | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Швидкі посилання

Посібник Опис
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/uk-rUA/user/android-auto.html b/v2.8.0/uk-rUA/user/android-auto.html deleted file mode 100644 index f968d23f48..0000000000 --- a/v2.8.0/uk-rUA/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

Overview

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

Повідомлення

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

Вузли

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/uk-rUA/user/app-functions.html b/v2.8.0/uk-rUA/user/app-functions.html deleted file mode 100644 index 9f2119171e..0000000000 --- a/v2.8.0/uk-rUA/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/uk-rUA/user/connections.html b/v2.8.0/uk-rUA/user/connections.html deleted file mode 100644 index 2c82c7050d..0000000000 --- a/v2.8.0/uk-rUA/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - Connections | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Connections

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

Icon State Опис
🟢 Під’єднано Active radio link established
🟡 Під’єднання Handshake in progress
🔴 Відключено No active connection
⚪ Not configured Не вибраний пристрій

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/uk-rUA/user/debug-logs.html b/v2.8.0/uk-rUA/user/debug-logs.html deleted file mode 100644 index 7cf8452177..0000000000 --- a/v2.8.0/uk-rUA/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/uk-rUA/user/desktop.html b/v2.8.0/uk-rUA/user/desktop.html deleted file mode 100644 index cc7abcd2dd..0000000000 --- a/v2.8.0/uk-rUA/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop Нотатки
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
Мапа ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
Налаштування ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
Оновити прошивку ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, Open Settings
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/uk-rUA/user/discovery.html b/v2.8.0/uk-rUA/user/discovery.html deleted file mode 100644 index f189eda340..0000000000 --- a/v2.8.0/uk-rUA/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - Discovery | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Discovery

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control Опис
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

Metric What it tells you
RF health Overall quality of the radio environment on that preset.
Channel utilization How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

Маршрут

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

Інформація про сусідів

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/uk-rUA/user/firmware.html b/v2.8.0/uk-rUA/user/firmware.html deleted file mode 100644 index efce7398f1..0000000000 --- a/v2.8.0/uk-rUA/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - Firmware Updates | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

Канал Опис
Стабільна Recommended for most users; tested releases
Альфа Preview releases; may contain bugs
Файл Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

Troubleshooting

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/uk-rUA/user/help-and-docs.html b/v2.8.0/uk-rUA/user/help-and-docs.html deleted file mode 100644 index 70e20477b0..0000000000 --- a/v2.8.0/uk-rUA/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/uk-rUA/user/map-and-waypoints.html b/v2.8.0/uk-rUA/user/map-and-waypoints.html deleted file mode 100644 index d9a5dd66cc..0000000000 --- a/v2.8.0/uk-rUA/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property Опис
Ім’я Short identifier (max 29 characters)
Опис Optional longer description
Icon Visual marker emoji on the map
Блоковано If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

Шари мапи

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/uk-rUA/user/messages-and-channels.html b/v2.8.0/uk-rUA/user/messages-and-channels.html deleted file mode 100644 index 8b1d8ba871..0000000000 --- a/v2.8.0/uk-rUA/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

Канали

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

Безпека каналу

Channels support multiple encryption levels:

Icon Security Level Опис
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
Доставлено в мережу For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
Маршрутизація через SF++ ланцюжок… Being routed/buffered by the Store & Forward Plus Plus chain
Підтверджений на ланцюжку SF++ Confirmed delivered via the SF++ chain
Error Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

Error Meaning What to Do
No Route No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
Таймаут No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
Інтерфейс відсутній No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
Канал відсутній The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
Немає відповіді Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
Невірний запит Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

Тип Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/uk-rUA/user/mqtt.html b/v2.8.0/uk-rUA/user/mqtt.html deleted file mode 100644 index f11fdf7ac4..0000000000 --- a/v2.8.0/uk-rUA/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

Overview

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Налаштування

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting Опис За замовчуванням
Server Address MQTT broker hostname mqtt.meshtastic.org
Ім’я користувача Broker authentication meshdev
Пароль Broker authentication large4cats
Root Topic Base topic for messages msh
Шифрування Encrypt MQTT payload Увімкнено
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction Опис
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Опис Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

Troubleshooting

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/uk-rUA/user/node-metrics.html b/v2.8.0/uk-rUA/user/node-metrics.html deleted file mode 100644 index 1ee8f02d7c..0000000000 --- a/v2.8.0/uk-rUA/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

Показники пристрою

Basic operating information reported by each node:

Metric Опис
Battery Level Current battery percentage
Напруга Battery voltage reading
Channel Utilization Percentage of airtime consumed
Airtime Transmission time used by this node
Час роботи Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

Показники довкілля

Environmental sensor data (requires compatible hardware):

Metric Sensor Examples
Температура BME280, BME680, SHT31
Вологість BME280, BME680, SHT31
Атмосферний тиск BME280, BMP280
Опір газового сенсора BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

Metric Unit Опис
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) Color
Хороший < 1000 Зелений
Stuffy < 2000 Amber
Poor < 5000 Помаранчевий
Unsafe < 30000 Червоний
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

Metric Опис
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
Хороший SNR above the preset’s limit
Задовільний less than 5.5 dB below the limit
Поганий 5.5 dB to 7.5 dB below the limit
Жоден more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

Показники живлення

Power management telemetry (requires INA sensor or compatible hardware):

Metric Опис
Bus Voltage Supply voltage
Поточний Power draw in milliamps
Живлення Calculated wattage

Маршрут

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

Position Log

Historical position data for nodes that share their location:

  • GPS coordinates
  • Висота
  • Speed (if moving)
  • Timestamp for each position report

Інформація про сусідів

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/uk-rUA/user/nodes.html b/v2.8.0/uk-rUA/user/nodes.html deleted file mode 100644 index d0781ee4f3..0000000000 --- a/v2.8.0/uk-rUA/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - Вузли | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Вузли

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

Роль Опис
Клієнт Standard end-user device
Client Base Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Трекер Optimized for position reporting at regular intervals
Датчик Optimized for telemetry reporting
ТАК Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • Remove node

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

Фільтри Опис
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort Опис
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Стрибків Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
Рівень заряду батареї Battery
Hop count Hops
Востаннє в мережі Last heard
Відстань Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/uk-rUA/user/onboarding.html b/v2.8.0/uk-rUA/user/onboarding.html deleted file mode 100644 index bb7c4fdfa8..0000000000 --- a/v2.8.0/uk-rUA/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/uk-rUA/user/settings-module-admin.html b/v2.8.0/uk-rUA/user/settings-module-admin.html deleted file mode 100644 index 7b287caefa..0000000000 --- a/v2.8.0/uk-rUA/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

Module Configuration

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting Опис
Увімкнено Toggle MQTT bridge
Сервер MQTT broker address
Ім’я користувача Authentication username
Пароль Authentication password
Шифрування Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting Опис
Увімкнено Activate serial communication
Echo Echo received serial data back
Режим Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
Baud Rate Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting Опис
Увімкнено Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting Опис
Увімкнено Activate store and forward
Пульсація Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
Сервер Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting Опис
Увімкнено Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting Опис
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
Air Quality Enabled Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting Опис
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
Повідомлення Newline-separated list of messages
Send Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting Опис
Увімкнено Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting Опис
Увімкнено Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting Опис
Увімкнено Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting Опис
LED State Turn the LED on or off
Поточний LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting Опис
Увімкнено Activate detection sensor
Monitor Pin GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
Send Bell Include bell character in alerts
Friendly Name Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting Опис
Увімкнено Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

Адміністрування

Віддалене керування

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

Очистити базу даних вузлів

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

Перевантажити

Remotely reboot a connected or administered node.

Панель налагодження

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/uk-rUA/user/settings-radio-user.html b/v2.8.0/uk-rUA/user/settings-radio-user.html deleted file mode 100644 index 1750183fc3..0000000000 --- a/v2.8.0/uk-rUA/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

User Settings

User Profile

Setting Опис
Довга назва Your display name (up to 39 characters)
Коротка назва 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Налаштування

Налаштування пристрою

Setting Опис За замовчуванням
Роль Node behavior (Client, Router, etc.) Клієнт
Режим ретрансляції How the node retransmits messages Усі
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

Налаштування LoRa

Setting Опис За замовчуванням
Регіон Regulatory region for frequency bands Unset (must configure)
Modem Preset Speed/range tradeoff LongFast
Hop Limit Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
Frequency Offset Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range Швидкість SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

Налаштування дисплею

Setting Опис
Screen Timeout Time before display sleeps
Одиниці виміру Metric or Imperial
Тип OLED Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

Position Config

Setting Опис
GPS Enabled Enable/disable GPS
GPS Update Interval How often to acquire GPS fix
Position Broadcast (s) How often to share position
Інтелектуальне передавання позиції Enable movement-based broadcasting
Фіксована позиція Use a manually set position

Налаштування живлення

Setting Опис
Power Saving Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

Налаштування мережі

Setting Опис
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK Network password
NTP-сервер Time synchronization server
Syslog Server Remote logging server

IP address field

Налаштування Bluetooth

Setting Опис
Bluetooth Enabled Enable/disable BLE radio
Pairing Mode Fixed PIN, Random PIN, or No PIN
Фіксований PIN PIN code for pairing (default: 123456)

Налаштування безпеки

Setting Опис
Відкритий ключ Your node’s public key (read-only)
Ключ адміністратора Key for remote administration
Приватний ключ Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
Керований режим Restrict non-admin channel changes
Резервні ключі Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/uk-rUA/user/signal-meter.html b/v2.8.0/uk-rUA/user/signal-meter.html deleted file mode 100644 index 17d3905af9..0000000000 --- a/v2.8.0/uk-rUA/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
Хороший 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
Задовільний 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
Поганий 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
Жоден 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/uk-rUA/user/tak.html b/v2.8.0/uk-rUA/user/tak.html deleted file mode 100644 index 45c510b5af..0000000000 --- a/v2.8.0/uk-rUA/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

Overview

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

Prerequisites

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Налаштування

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting Опис
Увімкнено Activate TAK interop
Режим TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

Роль Опис
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting Опис
Team Color Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
Member Role Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility Features
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

Troubleshooting

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/uk-rUA/user/telemetry-and-sensors.html b/v2.8.0/uk-rUA/user/telemetry-and-sensors.html deleted file mode 100644 index 78d9185290..0000000000 --- a/v2.8.0/uk-rUA/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Телеметрія і сенсори | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

Overview

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

Metric Опис Typical Range
Battery Level Charge percentage 0–100%
Напруга Battery voltage 3.0–4.2V (LiPo)
Channel Utilization % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
Час роботи Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

Датчик Температура Вологість Атмосферний тиск Нотатки
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

Датчик Metric Нотатки
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

Датчик Metric
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

Показники живлення

Nodes with INA-series power sensors can report:

Metric Опис
Bus Voltage Supply rail voltage
Поточний Power consumption (mA)
Живлення Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

Metric Unit Опис
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

Troubleshooting

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/uk-rUA/user/translate.html b/v2.8.0/uk-rUA/user/translate.html deleted file mode 100644 index 8274f31e80..0000000000 --- a/v2.8.0/uk-rUA/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location Нотатки
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/uk-rUA/user/units-and-locale.html b/v2.8.0/uk-rUA/user/units-and-locale.html deleted file mode 100644 index 521f515ff4..0000000000 --- a/v2.8.0/uk-rUA/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


Температура

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance Висота
Metric 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

Швидкість

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
Metric 12 km/h
Imperial (US) 7 mph

Вітер

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
Metric 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
Metric 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
Радіація μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/uk-rUA/user/widget.html b/v2.8.0/uk-rUA/user/widget.html deleted file mode 100644 index da4c9ffb89..0000000000 --- a/v2.8.0/uk-rUA/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Українська
Meshtastic Docs ↗

🌐 Українська — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/zh-rCN/index.html b/v2.8.0/zh-rCN/index.html deleted file mode 100644 index 85f3e2033c..0000000000 --- a/v2.8.0/zh-rCN/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide 说明
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/zh-rCN/user/android-auto.html b/v2.8.0/zh-rCN/user/android-auto.html deleted file mode 100644 index 714a15e23b..0000000000 --- a/v2.8.0/zh-rCN/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

总览

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

消息

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

节点

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.



diff --git a/v2.8.0/zh-rCN/user/app-functions.html b/v2.8.0/zh-rCN/user/app-functions.html deleted file mode 100644 index 25c1044b37..0000000000 --- a/v2.8.0/zh-rCN/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

Privacy

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.



diff --git a/v2.8.0/zh-rCN/user/connections.html b/v2.8.0/zh-rCN/user/connections.html deleted file mode 100644 index 91b81e94e8..0000000000 --- a/v2.8.0/zh-rCN/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - 连接数 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

连接数

Meshtastic supports multiple transport methods to communicate between your phone/desktop and a radio node.

Bluetooth (BLE)

Bluetooth Low Energy is the default and most common connection method on Android.

Pairing a Device

  1. Ensure your Meshtastic radio is powered on and in pairing mode.
  2. Open the app and navigate to the Connect tab.
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. Select your device from the list.
  5. Accept the Bluetooth pairing prompt if shown.

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 Tip: If your device doesn’t appear, check that Bluetooth and Location permissions are granted, and that the radio is not already connected to another device.

Connection Status

图标 State 说明
🟢 已连接 Active radio link established
🟡 正在连接 Handshake in progress
🔴 已断开连接 No active connection
⚪ Not configured 未选择设备

When connecting, a status indicator shows the current connection state:

Connecting status

If no devices are found, the app shows an empty state with instructions:

No devices found

Troubleshooting Bluetooth

  • Device not found: Toggle Bluetooth off/on, ensure location is enabled.
  • Connection drops: Move closer to the radio; check for interference.
  • Pairing rejected: Forget the device in Android Bluetooth settings and retry.

USB Serial

USB connections provide a wired alternative, useful for desktop or when Bluetooth is unavailable.

Setup

  1. Connect your radio via USB cable to your device.
  2. The app will prompt for USB permission — tap Allow.
  3. The connection is established automatically.

⚠️ Note: USB connections require OTG support on Android devices.

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

When to Use TCP

  • Radio is on the same local network
  • Testing with a simulated radio
  • Environments where Bluetooth has interference issues

Reconnection Behavior

The app reconnects to the last selected device on startup. You can switch transports from the Connect screen at any time.

To disconnect, tap the disconnect button on the Connect screen:

Disconnect from radio

Desktop Connections

On Desktop (Linux/macOS/Windows), the app supports:

  • Bluetooth (BLE) — via the Kable library; works on macOS, Linux, and Windows
  • USB Serial — primary wired connection method
  • TCP/IP — for network-connected radios

See Desktop App for platform-specific details and keyboard shortcuts.



diff --git a/v2.8.0/zh-rCN/user/debug-logs.html b/v2.8.0/zh-rCN/user/debug-logs.html deleted file mode 100644 index 5ce7f46e10..0000000000 --- a/v2.8.0/zh-rCN/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

Desktop

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/zh-rCN/user/desktop.html b/v2.8.0/zh-rCN/user/desktop.html deleted file mode 100644 index 4257a095d6..0000000000 --- a/v2.8.0/zh-rCN/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - Desktop App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

安装

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio’s IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

Feature Android Desktop 注
Messaging ✓ ✓ Full parity
Node List ✓ ✓ Full parity
地图 ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
设置 ✓ ✓ Full parity
Bluetooth (BLE) ✓ ✓ Via Kable on desktop
固件更新 ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
Notifications ✓ ✓ Native OS notifications
Widgets ✓ ✗ Android-only
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI Assistant (Chirpy) ✓* ✗ Google flavor Android only
App Functions (system AI) ✓† ✗ Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

Shortcut Action
⌘/Ctrl+Q Quit the application
⌘/Ctrl+, 打开设置
⌘/Ctrl+1 Switch to Messages tab
⌘/Ctrl+2 Switch to Nodes tab
⌘/Ctrl+3 Switch to Map tab
⌘/Ctrl+4 Switch to Connect tab
⌘/Ctrl+/ Open About

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)


diff --git a/v2.8.0/zh-rCN/user/discovery.html b/v2.8.0/zh-rCN/user/discovery.html deleted file mode 100644 index 5c74691404..0000000000 --- a/v2.8.0/zh-rCN/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - 发现 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

发现

Discovery tools help you understand how your mesh network is connected — which nodes can hear each other, what paths messages take, and where bottlenecks or weak links exist.

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control 说明
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

Reading the Results

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

公制 What it tells you
RF health Overall quality of the radio environment on that preset.
频道使用 How busy the airwaves were during the dwell.
广播时间 Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh 信标

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

追踪器

Traceroute reveals the exact path a message takes from your node to any other node on the mesh. It’s the single most useful tool for debugging connectivity problems.

Running a Traceroute

  1. Navigate to Nodes and tap the node you want to trace.
  2. On the node detail screen, tap Traceroute.
  3. The app sends a traceroute request and waits for the response.
  4. Results display each hop in order, with signal quality at every step.

Reading the Results

A traceroute result looks like this:

You → Node A (SNR: 8.5, RSSI: -95) → Node B (SNR: 5.2, RSSI: -108) → Target
-

Each hop represents a relay node that forwarded the message. The SNR and RSSI values at each hop tell you about the link quality on that specific segment.

What to look for What it means
All hops show Good SNR (≥ −7 dB, green) Healthy path — messages flow reliably
One hop shows Bad SNR (< −15 dB, red) Weak link — this relay segment is fragile
Many hops (4+) Long path — consider repositioning a node to shorten it
Different path on retry Mesh is adapting — multiple routes exist (this is good!)

💡 Tip: Run traceroute several times over a few minutes. If the path changes, your mesh has redundant routes — a sign of a well-connected network.

Troubleshooting with Traceroute

  • “No route found” — The target node may be offline, out of range, or on a different channel. Check that both nodes share at least one channel with the same encryption key.
  • Traceroute times out — The path may be too long (exceeds hop limit) or a relay node is congested. Try increasing the hop limit in Settings → LoRa Config.
  • Asymmetric paths — A traceroute from A→B may take a different path than B→A. This is normal — radio propagation is not always symmetric.

邻居信息

The Neighbor Info module lets each node broadcast a list of the nodes it can directly hear (single-hop). When multiple nodes share their neighbor lists, you can piece together a topology map of the entire mesh.

Enabling Neighbor Info

  1. Navigate to Settings → Module Config → Neighbor Info.
  2. Enable the module.
  3. Set the broadcast interval (default: 900 seconds / 15 minutes).

Once enabled, your node periodically broadcasts its neighbor table. Other nodes with Neighbor Info enabled do the same.

Viewing Neighbor Data

  • Open any node’s detail screen and look for the Neighbors section.
  • Each neighbor entry shows the node that was directly heard and its signal quality.
  • Combine neighbor data from multiple nodes to understand the full mesh topology.

⚠️ Note: Neighbor Info increases airtime usage because every enabled node periodically broadcasts its neighbor list. On busy meshes with many nodes, consider longer broadcast intervals (3600 seconds or more) to avoid congestion.


Node List as a Discovery Tool

The node list itself is a powerful discovery tool when you use its filtering and sorting features effectively.

Finding New Nodes

  • Sort by Last heard to see the most recently active nodes at the top.
  • Enable Include unknown to see nodes that have appeared on the mesh but haven’t sent user info yet — these are often newly powered-on devices.

Assessing Connectivity

  • Sort by Hops away to see which nodes are directly reachable (0 hops) versus relayed.
  • Sort by Distance to find nearby nodes and verify they’re reachable.
  • Use Exclude MQTT to focus on nodes reachable over radio (not via internet bridge).

Infrastructure Audit

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • Check their signal quality and last-heard times to verify your infrastructure nodes are healthy.

See Nodes for full details on filtering and sorting options.


Tips for Mesh Exploration

  • Start with traceroute — it gives you immediate, actionable information about a specific path.
  • Enable Neighbor Info on key nodes — especially routers and repeaters, to build a picture of the backbone.
  • Check the map — node positions on the Map combined with signal data help you understand why some links are strong and others are weak.
  • Compare signal over time — use the Signal Meter guide to interpret SNR and RSSI values correctly.


diff --git a/v2.8.0/zh-rCN/user/firmware.html b/v2.8.0/zh-rCN/user/firmware.html deleted file mode 100644 index dfc9ff7cb2..0000000000 --- a/v2.8.0/zh-rCN/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - 固件升级 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

固件升级

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. The app checks for available firmware versions.
  3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

  1. Ensure your radio is connected via Bluetooth.
  2. Navigate to the Firmware Update screen.
  3. Select the desired firmware version.
  4. Tap Update to begin the OTA process.
  5. Wait for the update to complete — do not disconnect during the update.

Firmware checking for updates

⚠️ Warning: Interrupting a firmware update can brick your device. Ensure your radio has sufficient battery (>50% recommended) and maintain Bluetooth proximity during the entire process.

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

Version Channels

频道 说明
稳定版本 Recommended for most users; tested releases
开发版本 Preview releases; may contain bugs
本地文件 Flash a firmware file you select yourself, instead of a downloaded release

Pre-Update Checklist

Before updating:

  • Battery > 50%
  • Stable Bluetooth connection
  • Note your current settings (they may reset on major version changes)
  • Check the release notes for breaking changes

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • The radio will reboot automatically
  • Bluetooth connection will re-establish
  • Verify your settings are intact
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

问题排查

Update Stuck

If the update appears frozen:

  • Wait at least 5 minutes before intervening
  • If truly stuck, power-cycle the radio
  • Attempt the update again

Firmware update error

Device Won’t Boot After Update

If your device fails to boot:

  1. Try connecting via USB to a computer
  2. Use the web flasher in recovery/DFU mode
  3. Flash a known-good firmware version
  4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

The app may show warnings when:

  • Connected radio firmware is below minimum supported version
  • Major version mismatch between app and firmware
  • Deprecated features need migration

⚠️ Important: Always update the Meshtastic app before or alongside firmware updates to ensure compatibility.



diff --git a/v2.8.0/zh-rCN/user/help-and-docs.html b/v2.8.0/zh-rCN/user/help-and-docs.html deleted file mode 100644 index 0feb13f122..0000000000 --- a/v2.8.0/zh-rCN/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/zh-rCN/user/map-and-waypoints.html b/v2.8.0/zh-rCN/user/map-and-waypoints.html deleted file mode 100644 index e700f44352..0000000000 --- a/v2.8.0/zh-rCN/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - Map & Waypoints | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Map & Waypoints

The Map screen shows the geographic positions of nodes on your mesh, along with shared waypoints.

Map View

The map displays:

  • Node positions — colored markers for each node reporting location
  • Waypoints — shared points of interest
  • Your position — your current GPS location

Node Markers

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

Map Controls

  • Zoom — pinch or use +/- buttons
  • Pan — drag to explore
  • Center — select the location button to center on your position
  • Node tap — tap a node marker to view details

The floating toolbar provides quick access to compass, layer switching, node filters, refresh, and location tracking. Tap the compass to reorient north-up, or tap the location button to center on your current position.

Map controls overlay

Waypoints

Waypoints are shared geographic points of interest that all mesh members can see.

Creating a Waypoint

  1. Long-press on the map at the desired location.
  2. Enter a name and optional description.
  3. Choose an icon/emoji for the waypoint.
  4. Tap Send to share with the mesh.

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

Waypoint Properties

Property 说明
名称 Short identifier (max 29 characters)
说明 Optional longer description
图标 Visual marker emoji on the map
锁定 If locked, only the creator can edit or delete
Expiration Optional auto-remove date and time
地图围栏 Optional enter/exit alert area — see below

Waypoint Expiration

Waypoints can be set to expire automatically:

  • Never (default) — waypoint remains until manually deleted
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. Useful for temporary markers like rally points, hazards, or meeting locations.

Expired waypoints are automatically hidden from the map so they don’t clutter the display. The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

Managing Waypoints

  • Tap a waypoint on the map to view its details and coordinates
  • Edit or delete waypoints you created
  • Locked waypoints cannot be modified or deleted by other nodes — only the original creator can change them
  • Unlocked waypoints can be edited by any mesh member

地图图层

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

Position Sharing

Enabling Position Sharing

Your node shares its GPS position based on:

  • Fixed interval — broadcast position at regular intervals
  • Smart position — broadcast when movement exceeds a threshold
  • Manual — only share when explicitly requested

Configure position behavior in Settings → Position.

Privacy Considerations

🔒 Privacy: Position data is broadcast to all nodes on your channel. If you don’t want your location shared, disable GPS position in settings or use a fixed/fake position.

Map Sources

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • Satellite imagery (where available)
  • Offline tiles (download map areas for offline use)
  • Nodes — view and filter your node list
  • Node Metrics — signal quality and position history for individual nodes
  • Discovery — traceroute and neighbor info for understanding mesh topology
  • Units & Locale — distance and coordinate display formats


diff --git a/v2.8.0/zh-rCN/user/messages-and-channels.html b/v2.8.0/zh-rCN/user/messages-and-channels.html deleted file mode 100644 index 4410e5251e..0000000000 --- a/v2.8.0/zh-rCN/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - Messages & Channels | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Messages & Channels

Meshtastic supports two communication modes: channel broadcasts and direct messages.

频道

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Default Channel

Every Meshtastic device comes with a default LongFast channel. This is an unencrypted channel used for general mesh communication.

频道安全

Channels support multiple encryption levels:

图标 Security Level 说明
🔒 PSK (256-bit AES) Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages.
🔐 PSK (128-bit AES) Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data.
🔓 Default / Open Uses the well-known default key. Any Meshtastic device on the same preset can read these messages.
⚠️ Insecure + Position Open channel that also broadcasts your GPS position. Use with caution in public meshes.

🔒 Security Tip: Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Adding a Channel

  1. Navigate to Settings → Channels.
  2. Tap Add Channel or scan a QR code.
  3. Configure the channel name and encryption key.
  4. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

私聊

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Sending a Direct Message

  1. Open the Messages tab.
  2. Select a node from your contacts list or tap a node in the node list.
  3. Type your message and tap Send.

Message States

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

State Meaning
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
已发送至网状网络 For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
通过 SF++ 链路路由… Being routed/buffered by the Store & Forward Plus Plus chain
已在 SF++ 链上确认 Confirmed delivered via the SF++ chain
错误 Delivery failed — tap the status for the specific reason (see Delivery Errors below)

Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

错误 Meaning What to Do
找不到目标 No path exists to the destination node The recipient may be offline or out of mesh range. Try later or move closer.
Got NAK The next-hop node refused to relay The relay node may be congested. Wait and retry.
超时 No acknowledgment within retry window The recipient may be just out of range. Try increasing hop limit or moving to a better position.
无连接 No radio interface available to send Check that your radio is connected and the channel is configured.
Max Retransmit All retry attempts exhausted The mesh path is unreliable. Try a different channel or wait for conditions to improve.
没有频道 The destination channel doesn’t exist Verify both nodes share the same channel configuration.
Too Large Message exceeds maximum payload size Shorten your message (max ~200 characters).
无响应 Node received message but didn’t respond The recipient’s radio may be busy or in low-power sleep mode.
Duty Cycle Limit Regional airtime limit reached Your radio has used its allowed transmit time. Wait for the duty cycle window to reset (typically 1 hour in EU regions).
错误请求 Malformed or invalid message This usually indicates a software bug. Try restarting the app.

💡 Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent “No Route” errors, check that intermediate Router nodes are online.

Message Features

Quick Chat

Pre-configured messages for rapid communication:

  • Access via the Quick Chat button in the message input area
  • Choose from built-in phrases or custom messages
  • Customize quick chat messages in Settings → Quick Chat
  • Useful when typing is impractical (gloves, small screen, urgent)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

The channel list shows each channel with its latest message preview.

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

类型 Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

Reactions

React to messages with emoji:

  • Long-press a message to open the actions menu
  • Tap Add Reaction to choose an emoji
  • Reactions appear below the message bubble
  • Multiple users can react to the same message
  • React to your own messages or others’ messages

Emoji reaction badges displayed beneath a message

💡 Tip: Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Message Actions

Long-press any message to access:

  • Copy — copy message text to clipboard
  • Reply — quote the message in your response
  • React — add an emoji reaction
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • Delete — remove a message you sent (local deletion)

Message Priority

Messages are queued and transmitted based on priority:

  1. Emergency/alert messages (highest)
  2. Direct messages
  3. Channel broadcasts (lowest)

Message Limits

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • Rate limiting: The mesh enforces airtime fairness; heavy message volume may be throttled
  • Delivery: Messages are retried automatically if no acknowledgment is received

Best Practices

  • Use channels for group coordination
  • Use direct messages for private person-to-person communication
  • Keep messages short — mesh bandwidth is limited
  • Configure encryption for sensitive communications


diff --git a/v2.8.0/zh-rCN/user/mqtt.html b/v2.8.0/zh-rCN/user/mqtt.html deleted file mode 100644 index 343a8bb060..0000000000 --- a/v2.8.0/zh-rCN/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

MQTT

MQTT bridges your Meshtastic mesh network to the internet, enabling long-range communication beyond radio range.

总览

The MQTT module connects your node to an MQTT broker, allowing:

  • Messages to reach nodes on different physical meshes via the internet
  • Integration with home automation and monitoring systems
  • Publishing node positions to the public Meshtastic map
  • Custom data pipelines for logging and alerting

How It Works

[Your Node] → Radio → [Gateway Node with WiFi] → MQTT Broker → [Remote Gateway] → Radio → [Remote Node]
-

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Configuration

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Setting 说明 默认
Server Address MQTT broker hostname mqtt.meshtastic.org
用户名称 Broker authentication meshdev
密码 Broker authentication large4cats
Root Topic Base topic for messages msh
加密 Encrypt MQTT payload Enabled
JSON Output ⚠️ Deprecated — JSON packet support has been removed from firmware; this field is ignored 禁用
TLS Secure connection to broker 禁用
Map Reporting Report position to public map 禁用

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

For better privacy and control, you can run your own MQTT broker:

  • Mosquitto (lightweight, open-source)
  • HiveMQ
  • EMQX

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

  • Visible at meshmap.net and similar community map services
  • Only position and node info are shared
  • Disable this if you don’t want your location publicly visible
Direction 说明
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format 说明 Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Best Practices

  • Use channel-level encryption (PSK) on channels that bridge to MQTT
  • Don’t enable MQTT on nodes without internet access (it will buffer and waste memory)
  • Use a private broker for sensitive deployments
  • Be mindful of airtime when downlinking messages from busy MQTT topics — every downlinked message consumes radio airtime on your local mesh
  • Consider enabling uplink-only if you only need to monitor your mesh remotely without injecting messages back

问题排查

MQTT Not Connecting

  • Check WiFi — the gateway node must have an active internet connection (WiFi or Ethernet). MQTT does not work over the LoRa radio link itself.
  • Verify credentials — incorrect username or password will silently fail on most brokers. Double-check for trailing spaces.
  • Firewall — port 1883 (MQTT) or 8883 (MQTT+TLS) must be open. Some networks block non-standard ports.
  • DNS resolution — if using a custom broker hostname, verify the node can resolve it. Try the broker’s IP address directly.

Messages Not Bridging

  • Check uplink/downlink settings — if only uplink is enabled, messages flow from mesh to MQTT but not back. Enable downlink on the receiving gateway.
  • Channel mismatch — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage.
  • Topic mismatch — ensure both gateways use the same root topic. The default msh works for the public broker.


diff --git a/v2.8.0/zh-rCN/user/node-metrics.html b/v2.8.0/zh-rCN/user/node-metrics.html deleted file mode 100644 index fab2e68b7d..0000000000 --- a/v2.8.0/zh-rCN/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

设备数据

Basic operating information reported by each node:

公制 说明
电池电量 Current battery percentage
电压 Battery voltage reading
频道利用率 Percentage of airtime consumed
广播时间 Transmission time used by this node
正常运行时间 Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

传感器指标

Environmental sensor data (requires compatible hardware):

公制 Sensor Examples
温度 BME280, BME680, SHT31
湿度 BME280, BME680, SHT31
气压 BME280, BMP280
气体电阻性 BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

公制 Unit 说明
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) 颜色
良好 < 1000 绿
Stuffy < 2000 Amber
Poor < 5000 橙色
Unsafe < 30000 红
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

信号强度

Radio signal quality information:

公制 说明
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
Hop Count Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
良好 SNR above the preset’s limit
一般 less than 5.5 dB below the limit
差 5.5 dB to 7.5 dB below the limit
无 more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

电源计量

Power management telemetry (requires INA sensor or compatible hardware):

公制 说明
Bus Voltage Supply voltage
电流 Power draw in milliamps
电源 Calculated wattage

追踪器

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

定位日志

Historical position data for nodes that share their location:

  • GPS coordinates
  • 海拔高度
  • Speed (if moving)
  • Timestamp for each position report

邻居信息

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/zh-rCN/user/nodes.html b/v2.8.0/zh-rCN/user/nodes.html deleted file mode 100644 index eb9d53e415..0000000000 --- a/v2.8.0/zh-rCN/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - 节点 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

节点

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

角色 说明
客户端 Standard end-user device
客户群 Treats favorited-node traffic as Router Late priority; all other traffic as Client
客户端静默 Receives but doesn’t retransmit
客户端隐藏 Like Client Mute, plus hides from node list
路由 Prioritizes message forwarding; stays awake to relay
延迟时间 Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
追踪器 Optimized for position reporting at regular intervals
传感器 Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK 追踪器 TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

图标 Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • 删除节点

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

搜索节点 说明
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort 说明
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator Screenshot
Signal quality Signal
电池电量 Battery
Hop count Hops
最后听到 Last heard
距离 Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/zh-rCN/user/onboarding.html b/v2.8.0/zh-rCN/user/onboarding.html deleted file mode 100644 index 1de26adbc5..0000000000 --- a/v2.8.0/zh-rCN/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - Getting Started | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Getting Started

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/zh-rCN/user/settings-module-admin.html b/v2.8.0/zh-rCN/user/settings-module-admin.html deleted file mode 100644 index 0a99645083..0000000000 --- a/v2.8.0/zh-rCN/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

模块配置

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

Setting 说明
Enabled Toggle MQTT bridge
服务器 MQTT broker address
用户名称 Authentication username
密码 Authentication password
加密 Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
Root Topic Base MQTT topic path
地图报告 Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

Setting 说明
Enabled Activate serial communication
回声 Echo received serial data back
模式 Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
波特率 Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

Setting 说明
Enabled Activate notifications
提醒消息 Notify on incoming messages
警告消息蜂鸣 Use buzzer for messages
Alert Message Vibra Use vibration for messages
提醒铃声 Notify on bell character
Output (GPIO) Pin for notification output
启用 High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

Setting 说明
Enabled Activate store and forward
Heartbeat Periodically announce this node’s store-and-forward capability
Records Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
服务器 Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

Setting 说明
Enabled Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

Setting 说明
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
启用空气质量检测 Report particulate sensor data
Power Metrics Enabled Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

Setting 说明
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
消息 Newline-separated list of messages
发送铃声 Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

Setting 说明
Enabled Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S Word Select GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

Setting 说明
Enabled Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

Setting 说明
Enabled Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
Transmit Over LoRa Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

Setting 说明
LED 状态 Turn the LED on or off
电流 LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

Setting 说明
Enabled Activate detection sensor
监视器 GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
发送铃声 Include bell character in alerts
友好名称 Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

Setting 说明
Enabled Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

管理员

远程管理

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

清理节点数据库

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

Factory Reset

Resets all settings to factory defaults. This cannot be undone.

重启

Remotely reboot a connected or administered node.

调试面板

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/zh-rCN/user/settings-radio-user.html b/v2.8.0/zh-rCN/user/settings-radio-user.html deleted file mode 100644 index 336eba3250..0000000000 --- a/v2.8.0/zh-rCN/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

用户设置

User Profile

Setting 说明
长名称 Your display name (up to 39 characters)
短名称 4-character abbreviated name
持证操作员 Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

Configuration

设备配置

Setting 说明 默认
角色 Node behavior (Client, Router, etc.) 客户端
转播模式 How the node retransmits messages 全部
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press 禁用

LoRa 配置

Setting 说明 默认
区域 Regulatory region for frequency bands Unset (must configure)
调制解调器预设 Speed/range tradeoff LongFast
跳跃数限制 Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
频率偏移(MHz Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset Range 速度 SNR Limit Best For
Short Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
Short Fast ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
Short Slow ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
Medium Fast ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
Medium Slow ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
Long Moderate ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

屏幕配置

Setting 说明
屏幕超时时间 Time before display sleeps
显示单位 Metric or Imperial
OLED 类型 Auto, SSD1306, SH1106, SH1107
Compass Orientation Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

定位配置

Setting 说明
GPS Enabled Enable/disable GPS
GPS更新间隔 How often to acquire GPS fix
Position Broadcast (s) How often to share position
智能位置 Enable movement-based broadcasting
固定位置 Use a manually set position

电源配置

Setting 说明
省电模式 Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

网络配置

Setting 说明
WiFi Enabled Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK 网络密码
NTP 服务器地址 Time synchronization server
Syslog Server Remote logging server

IP address field

蓝牙配置

Setting 说明
Bluetooth Enabled Enable/disable BLE radio
配对模式 Fixed PIN, Random PIN, or No PIN
固定PIN码 PIN code for pairing (default: 123456)

安全配置

Setting 说明
公钥 Your node’s public key (read-only)
管理员密钥 Key for remote administration
私钥 Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
Debug Log Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
管理模式 Restrict non-admin channel changes
备份密钥 Save an encrypted backup of the node’s keys on this device (Android only)
恢复密钥 Write the backed-up keys back to the node (available once a backup exists)
删除密钥备份 Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control Screenshot
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/zh-rCN/user/signal-meter.html b/v2.8.0/zh-rCN/user/signal-meter.html deleted file mode 100644 index 68bf3b7b49..0000000000 --- a/v2.8.0/zh-rCN/user/signal-meter.html +++ /dev/null @@ -1 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

Level Bars Criteria Meaning
良好 3 SNR above the preset’s limit Signal is comfortably above the demodulation floor — healthy connection.
一般 2 less than 5.5 dB below the limit Decodable, but getting close to the floor.
差 1 5.5 dB to 7.5 dB below the limit At the very edge of what the preset can recover.
无 0 more than 7.5 dB below the limit Below the floor — transmission lost to noise.

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars



diff --git a/v2.8.0/zh-rCN/user/tak.html b/v2.8.0/zh-rCN/user/tak.html deleted file mode 100644 index c17c41de5a..0000000000 --- a/v2.8.0/zh-rCN/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

总览

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

Setup

前置条件

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

Configuration

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

Setting 说明
Enabled Activate TAK interop
模式 TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

角色 说明
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

Setting 说明
队伍颜色 Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
成员角色 Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format Compatibility 特性
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

问题排查

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/zh-rCN/user/telemetry-and-sensors.html b/v2.8.0/zh-rCN/user/telemetry-and-sensors.html deleted file mode 100644 index 87260d2d4c..0000000000 --- a/v2.8.0/zh-rCN/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

总览

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

Device Telemetry

All Meshtastic nodes report basic device telemetry:

公制 说明 Typical Range
电池电量 Charge percentage 0–100%
电压 Battery voltage 3.0–4.2V (LiPo)
频道利用率 % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
正常运行时间 Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

传感器 温度 湿度 气压 注
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

传感器 公制 注
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

传感器 公制
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

电源计量

Nodes with INA-series power sensors can report:

公制 说明
Bus Voltage Supply rail voltage
电流 Power consumption (mA)
电源 Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

公制 Unit 说明
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

问题排查

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/zh-rCN/user/translate.html b/v2.8.0/zh-rCN/user/translate.html deleted file mode 100644 index 3ab130319f..0000000000 --- a/v2.8.0/zh-rCN/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location 注
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


How to Contribute

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

Thank you for helping expand the reach of Meshtastic!


diff --git a/v2.8.0/zh-rCN/user/units-and-locale.html b/v2.8.0/zh-rCN/user/units-and-locale.html deleted file mode 100644 index adb2eb72aa..0000000000 --- a/v2.8.0/zh-rCN/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


How It Works

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


温度

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance 海拔高度
公制 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

速度

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
公制 12 km/h
Imperial (US) 7 mph

风

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
公制 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
公制 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
Barometric pressure hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
辐射 μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

Setting What It Controls Example
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.



diff --git a/v2.8.0/zh-rCN/user/widget.html b/v2.8.0/zh-rCN/user/widget.html deleted file mode 100644 index ba69280d80..0000000000 --- a/v2.8.0/zh-rCN/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (简体)
Meshtastic Docs ↗

🌐 中文 (简体) — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/v2.8.0/zh-rTW/index.html b/v2.8.0/zh-rTW/index.html deleted file mode 100644 index 8e26cd56a8..0000000000 --- a/v2.8.0/zh-rTW/index.html +++ /dev/null @@ -1 +0,0 @@ - Home | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

Meshtastic Android App Documentation

User and developer documentation for the Meshtastic Android, Desktop, and iOS applications powered by KMP (Kotlin Multiplatform).

Use the sidebar navigation to browse the User Guide for app features and the Developer Guide for contributing to the project.


Guide 描述說明
Getting Started Connect your first radio and send a message
Messages & Channels Channel broadcasts, direct messages, reactions, and encryption
Nodes Understanding the mesh network node list
Signal Meter How the LoRa signal quality meter works
Units & Locale How temperatures, distances, and times adapt to your region
Desktop App Linux, macOS, and Windows desktop usage
Architecture App architecture overview for contributors
Contributing Branch naming, PR workflow, and verification commands

This documentation is served from the same markdown source that powers the in-app Help & Documentation browser.


diff --git a/v2.8.0/zh-rTW/user/android-auto.html b/v2.8.0/zh-rTW/user/android-auto.html deleted file mode 100644 index b117854d0c..0000000000 --- a/v2.8.0/zh-rTW/user/android-auto.html +++ /dev/null @@ -1 +0,0 @@ - Android Auto | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Android Auto

Meshtastic integrates with Android Auto so you can stay in touch with your mesh while driving, without taking your hands off the wheel or your eyes off the road.

⚠️ Note: Android Auto support is available on Google-flavor Android builds only. It is not included in the F-Droid build, and it is not available on Desktop or iOS.

ℹ️ What ships today: The Google Play build provides notification-only car messaging — incoming messages are announced on the head unit and you reply through its notification controls. The full tabbed Messages / Nodes / Status experience described below is a beta built on the Android Car App Library (Google’s templated car UI is currently restricted to Closed/Internal Play tracks), so it appears only in builds compiled with -PenableCarTemplates=true. The rest of this page documents that beta experience.

總覽

When your phone is connected to an Android Auto head unit (or the Desktop Head Unit emulator used for development), the beta build presents Meshtastic as a messaging app built with the Android Car App Library, with a tabbed Home screen optimized for driving-safe, glanceable use:

  • Messages — recent conversations, with hands-free reading and replies.
  • Nodes — the mesh node list, with a node-detail view.
  • Status — current connection and mesh status.

The car app does not add a new connection of its own. It uses the Meshtastic app’s existing connection, node, and message state, so it reflects whatever your phone is already connected to.

⚠️ Note: Your phone must be connected to a Meshtastic radio for the car app to show live data. If the app is disconnected, the car screen reflects that disconnected state.

訊息

The Messages tab lists your recent conversations. While driving, you can:

  • Have messages read aloud so you don’t need to look at the screen.
  • Reply by voice or text using your head unit’s reply control, dictating your response hands-free.

節點

The Nodes tab shows your mesh node list in a car-friendly layout. Selecting a node opens a node-detail view with key information about that node. See Nodes for the full meaning of the information shown.

Status

The Status tab summarizes your current connection and mesh status at a glance — useful for confirming you’re still connected to your radio without opening your phone.

相關主題



diff --git a/v2.8.0/zh-rTW/user/app-functions.html b/v2.8.0/zh-rTW/user/app-functions.html deleted file mode 100644 index b501915c63..0000000000 --- a/v2.8.0/zh-rTW/user/app-functions.html +++ /dev/null @@ -1 +0,0 @@ - App Functions | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

App Functions

App Functions expose Meshtastic capabilities to the Android system and to on-device AI assistants (such as Gemini) through the Android App Functions API. With them enabled, an assistant can discover and trigger mesh workflows for you — for example sending a message or checking your mesh status — without you opening the app.

⚠️ Note: App Functions are available on Google-flavor Android builds only.

⚠️ Note: This is separate from the in-app Chirpy assistant. App Functions let the system AI assistant act on your mesh; Chirpy is a conversational assistant inside the Meshtastic app itself.

Enabling App Functions

App Functions are controlled from Settings → System AI (the in-app screen is labeled “System AI”). The screen has:

  • A master toggle labeled “Allow AI access”, with the subtitle “Let system AI assistants (e.g. Gemini) discover and use mesh functions”. When off, no functions are exposed to the system.
  • An individual toggle for each function, so you can expose only the capabilities you want.

The functions are grouped into a Write section (functions that change something or send data to your mesh) and a Read section (functions that only return information).

App Functions screen with master and per-function toggles

Write Functions

Function What it does
Send Message Sends a text message to a contact (direct message) or to a channel, up to 237 bytes.

Read Functions

Function What it returns
Get Mesh Status Overall mesh status.
Get Node List The list of nodes on your mesh.
Get Channel Info Information about your channels.
Get Device Status Status of your connected radio.
Get Node Details Detailed information about a specific node.
Get Recent Messages Recent messages from your conversations.
Get Unread Summary A summary of unread messages.
Get Mesh Metrics Telemetry and metrics from your mesh.

隱私

🔒 Privacy: The Send Message function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you’re comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once.

相關主題



diff --git a/v2.8.0/zh-rTW/user/connections.html b/v2.8.0/zh-rTW/user/connections.html deleted file mode 100644 index e467512a34..0000000000 --- a/v2.8.0/zh-rTW/user/connections.html +++ /dev/null @@ -1 +0,0 @@ - 連線 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

連線

Meshtastic 支援多種傳輸方式,以便您的手機或電腦與無線電節點進行通訊。

藍牙(BLE)

藍牙低功耗是 Android 上預設且最常見的連線方式。

配對裝置

  1. 請確認您的 Meshtastic 無線電裝置已開機,並進入配對模式。
  2. 開啟應用程式,並前往「連線」頁籤。
  3. Tap Scan for Bluetooth devices — nearby Meshtastic radios will appear.
  4. 從清單中選取您的裝置。
  5. 若出現藍牙配對提示,請點選接受。

Scanning for Bluetooth devices, with a discovered radio in the list

Use the transport selector — a segmented button row below the connection card — to switch between the Bluetooth, Network, and USB transports (one is active at a time):

Transport selector

💡 提示:若裝置未顯示,請確認已授予藍牙與位置權限,且該無線電裝置尚未連接至其他裝置。

連線狀態

圖示 狀態 描述說明
🟢 已連線 無線電連線已建立
🟡 正在連線 交握進行中
🔴 已中斷連線 無作用中連線
⚪ 尚未設定 未選擇裝置

連線過程中,狀態指示器會顯示目前的連線狀態:

Connecting status

若未找到任何裝置,應用程式將顯示空白畫面並提供操作說明:

No devices found

藍牙疑難排解

  • 找不到裝置:請關閉再開啟藍牙,並確認已啟用位置服務。
  • 連線中斷:請靠近無線電裝置,並檢查是否有訊號干擾。
  • 配對遭拒:請至 Android 藍牙設定中移除該裝置後重新配對。

USB 序列埠

USB 連線提供有線替代方案,適用於桌上型電腦或藍牙無法使用的情況。

設定

  1. 請使用 USB 傳輸線將無線電裝置連接至您的裝置。
  2. 應用程式將提示要求 USB 權限——請點選「允許」。
  3. 連線將自動建立。

⚠️ 注意:USB 連線需要 Android 裝置支援 OTG 功能。

TCP/IP (Network)

Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio’s own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app.

Connecting over the Network

  1. Make sure the radio is on the same local network as your phone/desktop.
  2. On the Connect screen, select Network in the transport selector.
  3. Choose the radio one of two ways:
    • Scan for network devices — toggle this on to auto-discover radios that advertise themselves on the local network (mDNS / _meshtastic._tcp). Discovered devices appear in the list; tap one to connect.
    • Add device manually… — enter the radio’s IP address (or hostname) and port (default: 4403).
  4. Previously-used network addresses are remembered under Recent Network Devices for quick reconnection (long-press to remove one).

💡 Tip: Network discovery uses mDNS, which only works when both devices are on the same subnet. On Android 17+ the app needs the local-network permission for scanning; if discovery finds nothing, add the device manually by IP.

何時使用 TCP

  • 無線電裝置與裝置位於同一區域網路
  • 使用模擬無線電裝置進行測試
  • 藍牙訊號受干擾的環境

重新連線行為

應用程式啟動時將自動重新連接至上次選取的裝置。 您可隨時在連線畫面切換傳輸方式。

若要中斷連線,請點選連線畫面上的中斷連線按鈕:

Disconnect from radio

桌面版連線

在桌面版(Linux/macOS/Windows)上,應用程式支援:

  • 藍牙(BLE)—— 透過 Kable 函式庫;支援 macOS、Linux 及 Windows
  • USB 序列埠 — 主要的有線連線方式
  • TCP/IP — 適用於透過網路連線的無線電裝置

請參閱〔桌面版應用程式〕(desktop) 以了解各平台的詳細說明與鍵盤快速鍵。

相關主題

  • 〔快速入門〕(onboarding) — 首次啟動的設定與權限
  • 〔設定 — 無線電與使用者〕(settings-radio-user) — 藍牙與網路設定
  • 〔桌面版應用程式〕(desktop) — 桌面版連線詳細說明
  • 〔支援的裝置〕(https://meshtastic.org/docs/hardware/devices)— meshtastic.org 上的完整相容無線電裝置清單


diff --git a/v2.8.0/zh-rTW/user/debug-logs.html b/v2.8.0/zh-rTW/user/debug-logs.html deleted file mode 100644 index 078087596d..0000000000 --- a/v2.8.0/zh-rTW/user/debug-logs.html +++ /dev/null @@ -1 +0,0 @@ - Debug Logs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Debug Logs

When something misbehaves, the app’s debug logs are the single most useful thing you can attach to a bug report. Meshtastic can capture them for you, from inside the app — you no longer need adb or any desktop tooling to collect them.

Open the Debug Panel from Settings → Advanced → Debug Panel.

📎 Filing an issue? Export your logs (see below) and attach the .txt file to your report at github.com/meshtastic/Meshtastic-Android/issues. A log capture that covers the moment the problem happened turns “it doesn’t work” into something a developer can actually track down.

The two tabs

The Debug Panel has two tabs:

  • Packets — the decoded mesh traffic your radio has sent and received (protocol-level messages). Useful for diagnosing mesh and routing behavior.
  • App logs — the app’s own diagnostic log (Android logcat), including warnings, errors, and stack traces from the app itself. This is usually what a bug report needs.

Each tab has its own export button and produces its own file, so you can grab whichever is relevant — or both.

Viewing app logs

The App logs tab shows the most recent log lines from this app only — never other apps on your device.

  • Search — type in the search box to filter to matching lines.
  • Level filter — the V / D / I / W / E chips toggle Verbose, Debug, Info, Warn, and Error lines. Tap a level to hide it; tap again to bring it back. Fatal lines are always shown.
  • Refresh — the refresh icon re-reads the latest logs.

Error and warning lines are tinted so problems stand out.

Exporting

Tap the download icon to save the current logs to a file. You choose where it goes through the system file picker, and the file is named with a timestamp (for example meshtastic_logcat_20260701_143312.txt) so repeated exports never overwrite each other.

Attach that file to your GitHub issue.

🔒 Privacy: Exports automatically redact private keys, admin keys, and session passkeys before writing the file. Channel PSKs are not redacted, and logs can also contain node names, positions, and other identifying details — glance through the file before sharing it publicly, and share privately if you have any doubt.

桌面版

The desktop app has no system logcat, so the App logs tab shows the app’s own captured log output instead. Search, filtering, and export work the same way.

相關主題

  • Help & In-App Docs — reading this documentation offline inside the app
  • Connections — if the problem is getting connected to your radio in the first place


diff --git a/v2.8.0/zh-rTW/user/desktop.html b/v2.8.0/zh-rTW/user/desktop.html deleted file mode 100644 index ad47fe70db..0000000000 --- a/v2.8.0/zh-rTW/user/desktop.html +++ /dev/null @@ -1,4 +0,0 @@ - 桌面版應用程式 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

桌面版應用程式

Meshtastic 桌面版應用程式透過 Kotlin Multiplatform 與 Android 版共用核心程式碼庫。 大多數功能在 Linux、macOS 及 Windows 上的運作方式完全相同。

安裝

Linux

  • 從發布頁面下載.deb 或.AppImage 安裝套件
  • 或使用 ./gradlew :desktopApp:run 從原始碼自行建置

macOS

  • 從發布頁面下載.dmg 安裝套件
  • 或從原始碼自行建置

Windows

  • 從發布頁面下載.msi 安裝程式
  • 或從原始碼自行建置

連接您的無線電裝置

USB 序列埠(主要方式)

桌面版上最穩定可靠的連線方式:

  1. 請使用 USB 傳輸線連接您的 Meshtastic 無線電裝置。
  2. 應用程式應會自動偵測序列埠。
  3. 若未自動偵測到,請從連線選單中手動選取正確的序列埠。

TCP/IP

若使用網路連線的無線電裝置:

  1. 輸入無線電裝置的 IP 位址與連接埠(預設:4403)。
  2. 點選「連線」。

藍牙(BLE)

桌面版透過 Kable 函式庫支援藍牙低功耗:

  1. 請確認您的系統配備藍牙介面卡。
  2. 應用程式將自動掃描附近的 Meshtastic 無線電裝置。
  3. 從連線畫面中選取您的裝置。

功能對等性

功能 Android 桌面版 備註
訊息傳送 ✓ ✓ 完全對等
節點清單 ✓ ✓ 完全對等
地圖 ✓ ◐ Map tab exists on desktop, but the interactive map view is Android-only
設定 ✓ ✓ 完全對等
藍牙(BLE) ✓ ✓ 桌面版透過 Kable 支援
韌體更新 ✓ ✓ In-app USB, BLE, and Wi-Fi (ESP32) update all work the same as Android
通知 ✓ ✓ 原生作業系統通知
小工具 ✓ ✗ 僅限 Android
Android Auto ✓ ✗ Android-only — not available on Desktop or iOS
AI 助理(Chirpy) ✓* ✗ 僅限 Google 版 Android
App Functions (system AI) ✓† ✗ 僅限 Google 版 Android

*Chirpy AI 需要 Google 版 Android 14 以上版本,且須搭配支援的硬體。

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

介面差異

桌面版應用程式採用相同的 Compose Multiplatform 介面,並針對較大螢幕與桌面操作方式進行調整。

鍵盤快速鍵

Shortcuts use ⌘ (Command) on macOS and Ctrl on Windows and Linux. (The Super / Windows key is not bound.)

快速鍵 動作
⌘/Ctrl+Q 結束應用程式
⌘/Ctrl+, 開啟設定
⌘/Ctrl+1 切換至訊息頁籤
⌘/Ctrl+2 切換至節點頁籤
⌘/Ctrl+3 切換至地圖頁籤
⌘/Ctrl+4 切換至連線頁籤
⌘/Ctrl+/ Open About

視窗與系統匣

  • 調整視窗大小 — 響應式版面配置可依視窗尺寸自動調整
  • 系統匣 — 可最小化至系統匣,於背景持續進行 mesh 網路操作
  • 匣列選單 — 在系統匣圖示上按右鍵,可顯示視窗或結束程式
  • 滑鼠互動 — 支援停駐狀態與標準桌面導覽操作

通知偏好設定

桌面版應用程式提供應用程式內的切換開關,可控制顯示哪些通知 — 包含訊息、新節點及低電量警示。 請在應用程式中前往「設定 → 通知」進行設定。

內建文件瀏覽器

桌面版應用程式內建文件瀏覽器,無需離開應用程式即可快速存取說明內容。

Docs browser with table of contents

瀏覽器支援跨所有文件的全文搜尋:

Searching the docs browser

各文件頁面以完整格式呈現:

A documentation page

從原始碼建置

git clone https://github.com/meshtastic/Meshtastic-Android.git
-cd Meshtastic-Android
-./gradlew :desktopApp:run
-

需求:

  • JDK 21
  • 純桌面版建置不需要 Android SDK

已知限制

  • The interactive map view is Android-only — the Map tab is present but does not render a map on desktop
  • 部分 Android 專屬功能(小工具、特定通知頻道)無法使用
  • 在低規格硬體上執行 Compose Desktop 時,效能可能有所不同
  • 桌面版尚不支援 BLE 綁定(配對功能可在不綁定的情況下正常使用)

相關主題

  • 〔連線〕(connections) — 連線方式概覽
  • Firmware Updates — USB, BLE, and Wi-Fi update all work the same as on Android


diff --git a/v2.8.0/zh-rTW/user/discovery.html b/v2.8.0/zh-rTW/user/discovery.html deleted file mode 100644 index c7ae63ae41..0000000000 --- a/v2.8.0/zh-rTW/user/discovery.html +++ /dev/null @@ -1,2 +0,0 @@ - 尋找 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

尋找

探索工具可協助您了解 mesh 網路的連線方式——哪些節點彼此可以收到訊號、訊息所經過的路徑,以及哪裡存在瓶頸或訊號薄弱的連結。

The app offers two complementary approaches:

  • Local Mesh Discovery (Scanner) — an automated mode that cycles your connected radio through different LoRa presets, listens on each, and ranks which preset performs best at your location.
  • Manual exploration — traceroute, Neighbor Info, and the node list, which you can use at any time to investigate specific paths and topology.

Local Mesh Discovery (Scanner)

Local Mesh Discovery is a dedicated scanning mode that helps you find the best LoRa modem preset for your location and see which nodes are active on each preset. It cycles your connected radio through one or more presets you choose, listens (or “dwells”) on each one for a set time to collect packets, then analyzes and ranks the results.

Open it from Settings → Advanced → Local Mesh Discovery. On desktop, it has its own Settings → Local Mesh Discovery entry.

⚠️ Note: Discovery temporarily changes your radio’s LoRa settings while it scans, then restores your original configuration when it finishes. Your device must be connected to run a scan.

Setting Up a Scan

Before starting, configure these controls:

Control 描述說明
LoRa preset picker Select one or more presets to scan. Discovery dwells on each selected preset in turn.
Dwell time Time to listen on each preset. Choose from 1, 5, 15, 30, 45, 60, 90, 120, or 180 minutes. Longer dwell times collect more packets and give a clearer picture, but take longer.
Keep screen awake Optional toggle that prevents the screen from sleeping during a long scan.

The Start button stays disabled — with an explanation of why — until the scan can run. Common reasons it’s disabled:

  • The device is not connected.
  • No presets have been selected to scan.
  • The selected preset uses 2.4 GHz, which your hardware doesn’t support.

Live Progress

While a scan runs, Discovery shows its current stage:

Stage What’s happening
Preparing Saving your current configuration and getting ready to scan.
Shifting to <preset> Switching the radio to the next preset to test.
Reconnecting Re-establishing the connection after the preset change.
Dwell Listening on the current preset to collect packets, with a countdown to the next step.
Analysis Processing the collected packets and ranking the presets.
Restoring Putting your original LoRa configuration back.

Dwell countdown showing time remaining on the current preset

解讀結果

When the scan completes, Discovery presents a per-preset result card for each preset it tested, plus an overall summary.

Per-preset result card with ranking and collected metrics

Metrics include:

公制(公里/公尺) What it tells you
RF health Overall quality of the radio environment on that preset.
頻道使用率 How busy the airwaves were during the dwell.
Airtime Transmission time observed.
Direct vs. relayed nodes How many mesh nodes were heard directly versus via a relay.
Bad / duplicate packets Counts of corrupt and repeated packets, indicating congestion or interference.

Additional features available from the results:

  • Scan History — saved sessions you can revisit; view or delete past scans.
  • Discovery Map — a map of the nodes found during the scan.
  • Report export — export a report as a PDF on Android, or as text on other platforms.

💡 Tip: On Android, Discovery can generate an on-device AI summary (Gemini Nano) of your results. If the on-device model isn’t available, an algorithmic summary is used instead — so you always get a readable interpretation of the scan.


Mesh Beacon

Mesh Beacon lets nodes invite others to join their mesh. A beaconing node periodically broadcasts an invitation — optionally advertising a channel, region, and modem preset — that nearby devices can hear even before they share a configuration.

Configure it under Settings → Module Config → Mesh Beacon:

  • Listen for beacons — receive invitations broadcast by other nodes.
  • Broadcast beacon — send your own invitation at a set interval, with an optional message and an offered channel.

Received invitations appear as Mesh invitations cards on the Discovery screen. Each card shows the sender’s message plus the offered channel, region, preset, and signal quality, with these actions:

  • Join — switch to the offered channel and preset (retunes the radio and reboots). When the offer matches your current frequency slot, an Add channel action adds it without a reboot.
  • Discover — seed a Discovery scan with the offered preset so you can survey that mesh before joining (shown only when the beacon offers a preset).
  • Dismiss — ignore the invitation.

Channels advertised by beacons also show up in the scan setup as Beacon channels — select one to include it as a scan target.


Manual Exploration

The tools below are available at any time from the node list and node detail screens. Use them to investigate specific paths and build a topology picture, alongside or instead of a full scan.

路由追蹤

路由追蹤可顯示訊息從您的節點到 mesh 網路上任一節點所經過的確切路徑。 這是診斷連線問題最有效的工具。

執行路由追蹤

  1. 前往「節點」,並點選您要追蹤的節點。
  2. 在節點詳細資訊畫面上,點選「路由追蹤」。
  3. 應用程式將發送路由追蹤請求並等待回應。
  4. 結果將依序顯示每一個跳躍點,並呈現每個步驟的訊號品質。

解讀結果

路由追蹤結果的顯示方式如下:

你 → 裝置 A (SNR: 8.5, RSSI: -95) → 裝置 B (SNR: 5.2, RSSI: -108) → 目標
-

每個跳躍點代表一個轉送該訊息的中繼節點。 每個跳躍點的 SNR 與 RSSI 數值可反映該路段的連線品質。

判讀重點 代表意義
All hops show Good SNR (≥ −7 dB, green) 路徑狀況良好 — 訊息可穩定傳送
One hop shows Bad SNR (< −15 dB, red) 訊號薄弱 — 此中繼路段不穩定
跳躍點過多(4 個以上) 路徑過長 — 建議調整節點位置以縮短路徑
重試時走不同路徑 Mesh 網路正在自動調整 — 存在多條路由(這是好現象!)

💡 提示:請在幾分鐘內多次執行路由追蹤。 若路徑發生變化,代表您的 mesh 網路具備備援路由 — 這是網路連線良好的象徵。

使用路由追蹤進行疑難排解

  • 「找不到路由」— 目標節點可能已離線、超出範圍,或使用不同的頻道。 請確認兩個節點至少共用一個使用相同加密金鑰的頻道。
  • 「路由追蹤逾時」— 路徑可能過長(超過跳躍限制),或某中繼節點發生壅塞。 請嘗試在「設定 → LoRa 設定」中提高跳躍限制。
  • 非對稱路徑 — 從 A → B 的路由追蹤路徑,可能與 B → A 不同。 這屬於正常現象 — 無線電訊號的傳播並不總是對稱的。

鄰近節點資訊

鄰近節點資訊模組可讓每個節點廣播其可直接收到訊號的節點清單(單跳躍)。 當多個節點共享各自的鄰近節點清單時,您便可拼湊出整個 mesh 網路的拓撲圖。

啟用鄰近節點資訊

  1. 前往「設定 → 模組設定 → 鄰近節點資訊」。
  2. 啟用此模組。
  3. 設定廣播間隔(預設:900 秒 / 15 分鐘)。

啟用後,您的節點將定期廣播其鄰近節點列表。 其他已啟用鄰近節點資訊的節點也會執行相同動作。

檢視鄰近節點資料

  • 開啟任一節點的詳細資訊畫面,並尋找「鄰近節點」區段。
  • 每筆鄰近節點記錄會顯示可直接收到訊號的節點及其訊號品質。
  • 結合多個節點的鄰近節點資料,以了解完整的 mesh 網路拓撲。

⚠️ 注意:鄰近節點資訊會增加無線電佔用時間,因為每個已啟用的節點會定期廣播其鄰近節點清單。 在節點眾多的繁忙 mesh 網路中,建議設定較長的廣播間隔(3600 秒以上)以避免壅塞。


將節點清單作為探索工具

善用節點清單的篩選與排序功能,即可將其作為強大的探索工具。

尋找新節點

  • 依「最後收到訊號」排序,可將最近有活動的節點顯示於頂部。
  • 啟用「包含未知節點」,可顯示已出現於 mesh 網路但尚未傳送使用者資訊的節點 — 這些通常是剛開機的裝置。

評估連線狀況

  • 依「跳躍距離」排序,可區分可直接到達的節點(0 個跳躍點)與需中繼轉送的節點。
  • 依「距離」排序,可找出附近的節點並確認是否可到達。
  • 使用「排除 MQTT」,可專注於透過無線電(而非網際網路橋接)可到達的節點。

基礎架構稽核

  • Disable Exclude infrastructure to see Router, Router Late, and Client Base nodes.
  • 檢查其訊號品質與最後收到訊號的時間,以確認基礎架構節點運作正常。

請參閱〔節點〕(nodes) 以了解完整的篩選與排序選項說明。


Mesh 網路探索技巧

  • 從路由追蹤開始 — 可立即取得特定路徑的具體可行資訊。
  • 在關鍵節點上啟用鄰近節點資訊 — 尤其是路由器與中繼器,以建立骨幹網路的整體概況。
  • 查看地圖 —〔地圖〕(map-and-waypoints) 上的節點位置結合訊號資料,有助於了解為何某些連結訊號強,而其他連結訊號弱。
  • 比較訊號變化趨勢 — 請參閱〔訊號儀表〕(signal-meter) 指南,以正確解讀 SNR 與 RSSI 數值。


diff --git a/v2.8.0/zh-rTW/user/firmware.html b/v2.8.0/zh-rTW/user/firmware.html deleted file mode 100644 index 6155fa623b..0000000000 --- a/v2.8.0/zh-rTW/user/firmware.html +++ /dev/null @@ -1 +0,0 @@ - 韌體更新 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

韌體更新

保持 Meshtastic 無線電裝置的韌體為最新版本,以取得新功能、錯誤修正與安全性改善。

檢查更新

  1. Open the connected radio’s configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable devices.
  2. 應用程式將檢查可用的韌體版本。
  3. 如有可用更新將顯示版本號碼與更新記錄摘要。

更新方式

OTA(無線空中下載)透過藍牙

Android 使用者最常用的更新方式:

  1. 請確認您的無線電裝置已透過藍牙連線。
  2. 前往韌體更新畫面。
  3. 選取所需的韌體版本。
  4. 點選「更新」以開始 OTA 流程。
  5. 請等待更新完成 — 更新期間請勿中斷連線。

Firmware checking for updates

⚠️ 警告:中斷韌體更新可能導致裝置變磚。 請確認無線電裝置電量充足(建議 50% 以上),並在整個更新過程中保持藍牙通訊距離。

Firmware disclaimer

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the .uf2 file to the device’s DFU drive using the system file picker. This option appears only on a USB/serial connection — it is not available over Bluetooth.

ℹ️ nRF bootloader note: Some devices (e.g. RAK WisBlock RAK4631) need their bootloader flashed with the vendor’s serial DFU tool (such as adafruit-nrfutil) — copying the .uf2 alone won’t update the bootloader. The app surfaces a hint when this applies.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

  • 請使用〔Meshtastic 網頁燒錄工具〕(https://flasher.meshtastic.org)
  • 或在桌面版使用〔Meshtastic CLI 工具〕(https://meshtastic.org/docs/getting-started/flashing-firmware)

版本頻道

頻道 描述說明
穩定版 建議大多數使用者採用;已測試的正式版本
Alpha 測試版 預覽版本;可能包含錯誤
本機檔案 Flash a firmware file you select yourself, instead of a downloaded release

更新前檢查清單

更新前請確認:

  • 電量 > 50%
  • 藍牙連線穩定
  • 記錄目前的設定(主要版本更新時可能會重設)
  • 查看版本說明中是否有重大變更

更新後

After the firmware is written, the app verifies the update and waits for the device to come back online:

Verifying update and waiting for the device to reconnect

Once the update succeeds:

  • 無線電裝置將自動重新開機
  • 藍牙連線將自動重新建立
  • 確認您的設定完整無缺
  • Confirm the new version under Currently Installed on the Firmware Update screen — it’s also shown on the node’s detail page and the Connections screen

Firmware update success

故障排除

更新卡住

若更新似乎停滯不動:

  • 請至少等待 5 分鐘再採取行動
  • 若確實卡住,請將無線電裝置重新開關機
  • 再次嘗試更新

Firmware update error

更新後裝置無法開機

若您的裝置無法開機:

  1. 請嘗試透過 USB 連接至電腦
  2. 在復原/DFU 模式下使用網頁燒錄工具
  3. 燒錄已知可正常運作的韌體版本
  4. 前往 Meshtastic Discord 查詢特定裝置的復原步驟

相容性警告

應用程式在以下情況可能顯示警告:

  • 已連接的無線電裝置韌體低於最低支援版本
  • 應用程式與韌體之間的主要版本不相符
  • 已棄用的功能需要進行遷移

⚠️ 重要:請在韌體更新之前或同時更新 Meshtastic 應用程式,以確保相容性。

相關主題

  • 〔連線〕(connections)——韌體更新後重新連線
  • (https://meshtastic.org/docs/getting-started/flashing-firmware) — meshtastic.org 上的完整韌體燒錄操作說明
  • 〔支援的裝置〕(https://meshtastic.org/docs/hardware/devices) https://meshtastic.org/docs/hardware/devices — 依裝置查詢韌體相容性
  • FAQ — common questions on meshtastic.org


diff --git a/v2.8.0/zh-rTW/user/help-and-docs.html b/v2.8.0/zh-rTW/user/help-and-docs.html deleted file mode 100644 index da09598881..0000000000 --- a/v2.8.0/zh-rTW/user/help-and-docs.html +++ /dev/null @@ -1 +0,0 @@ - Help & In-App Docs | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Help & In-App Docs

This same user documentation ships inside the app, so you can read it offline without leaving Meshtastic. Open it from Settings → Help & Documentation.

Browsing

The docs browser lists every user-guide page. Tap a page to read it; images and cross-links work just like they do here.

In-app documentation browser table of contents

搜尋

Tap the search icon and type to filter pages by title and keywords — results update as you type.

Searching the in-app documentation

A page open in the browser:

A documentation page rendered in the app

Chirpy — the AI Assistant

Chirpy answers plain-language questions about Meshtastic using this bundled documentation as its source. Tap the Chirpy button in the docs browser, type a question, and it replies with an answer and links to the relevant pages.

Chirpy AI assistant answering a question with page links

🔒 Privacy: On supported Google-flavor devices, Chirpy runs on-device using Gemini Nano — your questions never leave your phone. A small model downloads on first use.

⚠️ Note: On F-Droid, Desktop, and iOS builds, Chirpy falls back to a keyword search over the documentation rather than a generative model. If your device doesn’t support on-device AI, the assistant is hidden and you can still browse and search the docs normally.

相關主題

  • Translate the App — how these pages get localized into other languages
  • App Functions — the separate system-AI integration (distinct from Chirpy)


diff --git a/v2.8.0/zh-rTW/user/map-and-waypoints.html b/v2.8.0/zh-rTW/user/map-and-waypoints.html deleted file mode 100644 index 504324f2b6..0000000000 --- a/v2.8.0/zh-rTW/user/map-and-waypoints.html +++ /dev/null @@ -1 +0,0 @@ - 地圖與航點 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

地圖與航點

地圖畫面顯示 mesh 網路上各節點的地理位置,以及已分享的航點。

地圖檢視

地圖顯示以下內容:

  • 節點位置 — 每個回報位置的節點以彩色標記顯示
  • 航點 — 已分享的興趣點
  • 您的位置 — 您目前的 GPS 定位

節點標記

Each node that reports a position is shown as a node chip marker displaying the node’s short name. The chip is colored by the node’s own identity color (a stable color derived from its node number) — the same chip used in the node list, so a node looks the same everywhere. Marker color does not encode online/offline status. When a node’s position updates live, its marker briefly pulses. Nearby markers are clustered as you zoom out.

地圖控制項

  • 縮放 — 雙指縮放或使用 +/- 按鈕
  • 平移 — 拖曳以瀏覽地圖
  • 置中 — 點選位置按鈕,使地圖以您的位置為中心
  • 點選節點 — 點選節點標記以檢視詳細資訊

浮動工具列提供快速存取羅盤、圖層切換、節點篩選、重新整理及位置追蹤等功能。 點選羅盤可重新對齊正北方向,或點選位置按鈕使地圖以您目前位置為中心。

Map controls overlay

航點

航點是可分享的地理興趣點,mesh 網路上的所有成員均可看見。

建立航點

  1. 在地圖上的目標位置長按。
  2. 輸入名稱及選填的說明。
  3. 為航點選擇圖示或表情符號。
  4. 點選「傳送」以分享至 mesh 網路。

Waypoints are addressed like messages: by default they broadcast on the primary channel, but a waypoint can also be sent on a specific channel or as a direct message to a single node.

航點屬性

屬性 描述說明
名稱 Short identifier (max 29 characters)
描述說明 選填的較長說明
圖示 地圖上的視覺標記表情符號
鎖定 若已鎖定,僅建立者可編輯或刪除
到期時間 Optional auto-remove date and time
Geofence Optional enter/exit alert area — see below

航點到期設定

航點可設定為自動到期:

  • 永不到期(預設)— 航點將保留至手動刪除為止
  • Timed — pick a specific date and time; the waypoint is automatically removed once that time passes. 適用於臨時標記,例如集合點、危險區域或會面地點。

已到期的航點將自動從地圖上隱藏,以避免畫面雜亂。 The expiration countdown is based on the absolute time you picked, not a duration from when the waypoint was created or received.

Waypoint Geofences

Any waypoint can also define a geofence — an alert area — so you or others get notified when a node enters or leaves it:

  1. Set a geofence radius from the preset chips (or Off to disable), or tap Set area on map to draw a custom rectangular area instead.
  2. Once a region is set, toggle Notify on enter and/or Notify on exit.
  3. Optionally enable Favorites only to limit alerts to your favorited nodes.

Since waypoints (and their geofences) are broadcast to the whole mesh, only the creator is alerted by default. If someone else shares a geofenced waypoint with you, its detail view offers a “Notify me of crossings” opt-in so you can also receive enter/exit alerts for it.

管理航點

  • 點選地圖上的航點,可檢視其詳細資訊與座標
  • 編輯或刪除您建立的航點
  • 已鎖定的航點無法被其他節點修改或刪除 — 僅原始建立者可進行變更
  • 未鎖定的航點可由任何 mesh 成員編輯

地圖圖層

Tap the layers icon on the map to open Manage Map Layers, where you can import your own overlays in .kml, .kmz, or GeoJSON format — either by opening a file with Meshtastic or sharing it into the app from another app. Imported layers are listed with a toggle to show/hide each one and an option to remove it. This is available on both the Google Play and F-Droid builds.

Site Planner

Site Planner estimates RF coverage for a transmitter and draws it on the map as a color-coded overlay. Open it from a map control, or from a node’s detail page via Estimate coverage (shown only for nodes with a known position). Configure the transmitter (location, frequency, TX power, antenna gain and height), the receiver (sensitivity, height), and simulation options (max range, high-resolution terrain, color palette), then run the estimate. Like map layers, Site Planner works on both the Google Play and F-Droid builds.

位置分享

啟用位置分享

您的節點依據以下方式分享 GPS 位置:

  • 固定間隔 — 依固定時間間隔廣播位置
  • 智慧位置 — 移動距離超過閾值時才廣播位置
  • 手動 — 僅在明確要求時才分享位置

請在「設定 → 位置」中設定位置行為。

隱私注意事項

🔒 隱私:位置資料將廣播至您頻道上的所有節點。 若不想分享您的位置,請在設定中停用 GPS 定位,或使用固定/假位置。

地圖來源

The base map depends on your app flavor: Google Play builds use Google Maps, while F-Droid and Desktop builds use OpenStreetMap. On top of the base map, additional tile sources are available as overlays or alternatives:

  • 衛星影像(視可用性而定)
  • 離線圖磚(下載地圖區域以供離線使用)

相關主題

  • 〔節點〕(nodes) — 檢視與篩選您的節點清單
  • 〔節點數據〕(node-metrics) — 各節點的訊號品質與位置歷史記錄
  • 〔探索〕(discovery) — 路由追蹤與鄰近節點資訊,用於了解 mesh 網路拓撲
  • 〔單位與地區設定〕(units-and-locale) — 距離與座標的顯示格式


diff --git a/v2.8.0/zh-rTW/user/messages-and-channels.html b/v2.8.0/zh-rTW/user/messages-and-channels.html deleted file mode 100644 index e713763be9..0000000000 --- a/v2.8.0/zh-rTW/user/messages-and-channels.html +++ /dev/null @@ -1 +0,0 @@ - 訊息與頻道 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

訊息與頻道

Meshtastic 支援兩種通訊模式:頻道廣播與私訊。

頻道

頻道是共享的通訊群組。 所有設定相同頻道金鑰的節點均可在該頻道上讀取與傳送訊息。

預設頻道

每台 Meshtastic 裝置均內建預設的 LongFast 頻道。 此為未加密頻道,供一般 mesh 網路通訊使用。

頻道安全性

頻道支援多種加密等級:

圖示 安全等級 描述說明
🔒 PSK(256 位元 AES) 使用強力預共享金鑰進行完整加密。 僅持有相符金鑰的節點可讀取訊息。
🔐 PSK(128 位元 AES) 使用較短的金鑰進行加密。 適用於大多數情境,但敏感資料建議使用 256 位元加密。
🔓 預設/開放 使用眾所周知的預設金鑰。 使用相同預設值的任何 Meshtastic 裝置均可讀取這些訊息。
⚠️ 不安全 + 位置 開放頻道,同時廣播您的 GPS 位置。 在公開 mesh 網路中使用時請謹慎。

🔒 安全提示:私人通訊請務必設定專屬的 PSK。 預設頻道刻意設計為開放,以便新使用者能探索 mesh 網路 — 但對於任何敏感內容,請另行建立獨立的加密頻道。

新增頻道

  1. 前往「設定 → 頻道」。
  2. 點選「新增頻道」或掃描 QR Code。
  3. 設定頻道名稱與加密金鑰。設定頻道名稱與加密金鑰。
  4. 將頻道網址或 QR Code 分享給需要加入的人。

點選頻道可查看其詳細資訊與分享選項。

私訊

私訊(DM)是兩個特定節點之間的點對點加密通訊。

傳送私訊

  1. 開啟「訊息」頁籤。
  2. 從聯絡人清單中選取節點,或在節點清單中點選節點。
  3. 輸入訊息後點選「傳送」。

訊息狀態

A status label appears under your own outgoing messages only (incoming messages from others show no status label):

狀態 含義
Sending… Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text)
Delivered to recipient The strongest confirmation for a direct message — an acknowledgment came back
已傳送至 Mesh For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack)
Relayed, not confirmed by recipient For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet
透過 SF++ 鏈路由… Being routed/buffered by the Store & Forward Plus Plus chain
已在 SF++ 鏈上確認 Confirmed delivered via the SF++ chain
錯誤 Delivery failed — tap the status for the specific reason (see Delivery Errors below)

傳遞錯誤

當訊息傳遞失敗時,錯誤指示器將顯示問題原因:

錯誤 含義 處理方式
無路由 無法找到通往目標節點的路徑 收件者可能已離線或超出 mesh 網路範圍。 請稍後再試,或靠近對方後重新傳送。
收到 NAK 下一個跳躍點節點拒絕轉送 中繼節點可能發生壅塞。 請稍候後重試。
Timeout - 超時 在重試時間內未收到確認回應 收件者可能剛好超出訊號範圍。 請嘗試提高跳躍限制,或移動至訊號較佳的位置。
無介面 無可用的無線電介面進行傳送 請確認無線電裝置已連線,且頻道已正確設定。
已達最大重傳次數 所有重試次數均已用盡 Mesh 網路路徑不穩定。 請嘗試切換至其他頻道,或等待網路狀況改善。
無頻道 目標頻道不存在 請確認兩個節點使用相同的頻道設定。
訊息過大 訊息超過最大承載大小 Shorten your message (max ~200 characters).
無回應 節點已收到訊息但未回應 收件者的無線電裝置可能正忙碌,或處於低功耗睡眠模式。
佔空比限制 已達地區無線電佔用時間上限 您的無線電裝置已用完允許的傳輸時間。 請等待佔空比時間窗口重設(在歐盟地區通常為 1 小時)。
錯誤請求 格式錯誤或無效的訊息 這通常表示存在軟體錯誤。 請嘗試重新啟動應用程式。

💡 提示:大多數傳遞錯誤會自動解決。 若節點間歇性可到達,mesh 網路將自動重試。 若持續出現「無路由」錯誤,請確認中間的路由器節點是否在線。

訊息功能

快速聊天

預先設定的訊息,可快速進行通訊:

  • 透過訊息輸入區的快速聊天按鈕開啟
  • 從內建短語或自訂訊息中選取
  • 在「設定 → 快速聊天」中自訂快速聊天訊息
  • 適用於不便打字的情況(戴手套、螢幕過小、緊急狀況)

Quick chat option

Each quick chat entry has a short Name (the button label), the Message it inserts, and an Instantly send toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

New quick chat dialog with name, message, and instantly-send toggle

頻道清單會顯示每個頻道及其最新訊息預覽。

Searching Messages

You can search the full history of any conversation directly from the chat screen:

  1. Open a conversation (a channel or a direct message).
  2. Tap the search icon in the top bar.
  3. Type into the Search messages… field. The search runs as you type, across all stored messages in that conversation.
  4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.

Message search bar with result counter and previous/next arrows

💡 Tip: Search is full-text and stays within the conversation you opened it from — it doesn’t search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

訊息泡泡

訊息以對話泡泡的形式顯示 — 已傳送的訊息在右側,收到的訊息在左側。 每個泡泡顯示傳送者、時間戳記及傳遞狀態。 含有回覆的訊息,會在回覆內容上方顯示原始訊息的引用預覽。

Text Formatting

Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:

類型 Syntax Renders as
Bold **bold** bold
Italic *italic* italic
Strikethrough ~~strike~~ strike
Inline code `code` monospace code
Link [label](https://example.com) a tappable label

When composing, focus the message field and type at least three characters to reveal a formatting toolbar below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

💡 Tip: Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don’t support Markdown (older apps, plain firmware clients) will show the raw **/~~ characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Mentions

Type @ while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node’s name; tap it to jump straight to that node’s detail page.

訊息回應

以表情符號對訊息作出回應:

  • 長按訊息以開啟動作選單
  • 點選「新增回應」以選擇表情符號
  • 訊息回應顯示於訊息泡泡下方
  • 多位使用者可對同一則訊息作出回應
  • 可對自己或他人的訊息作出回應

Emoji reaction badges displayed beneath a message

💡 提示:訊息回應非常輕量 — 相較於完整文字訊息,佔用極少的 mesh 網路頻寬。

訊息動作

長按任意訊息可使用以下功能:

  • 複製 — 將訊息文字複製至剪貼簿
  • 回覆 — 在回覆中引用該訊息
  • 回應 — 新增表情符號回應
  • Translate — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
  • 刪除 — 移除您傳送的訊息(僅限本機刪除)

訊息優先順序

訊息依優先順序排入佇列並傳送:

  1. 緊急/警示訊息(最高)
  2. 私訊
  3. 頻道廣播(最低)

訊息限制

  • Maximum length: 200 bytes (approximately 200 characters for ASCII text)
  • The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
  • 速率限制:mesh 網路會執行無線電佔用時間公平性管制;大量訊息可能會被節流
  • 傳遞:若未收到確認回應,訊息將自動重試

最佳實踐

  • 群組協調請使用頻道
  • 個人私下通訊請使用私訊
  • 訊息請盡量簡短 — mesh 網路頻寬有限
  • 敏感通訊請設定加密

相關主題

  • 〔節點〕(nodes) — 點選節點以開始傳送私訊
  • 〔設定——無線電與使用者〕(settings-radio-user) — 設定頻道加密與預設值
  • 〔MQTT〕(mqtt) — 將頻道訊息橋接至網際網路
  • Channel configuration — detailed channel settings on meshtastic.org


diff --git a/v2.8.0/zh-rTW/user/mqtt.html b/v2.8.0/zh-rTW/user/mqtt.html deleted file mode 100644 index 733fb0e077..0000000000 --- a/v2.8.0/zh-rTW/user/mqtt.html +++ /dev/null @@ -1,2 +0,0 @@ - MQTT | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

MQTT

MQTT 將您的 Meshtastic mesh 網路橋接至網際網路,實現超越無線電範圍的長距離通訊。

概觀

MQTT 模組可將您的節點連接至 MQTT 代理伺服器,實現以下功能:

  • 透過網際網路傳送訊息至不同實體 mesh 網路上的節點
  • 與智慧家庭自動化及監控系統整合
  • 將節點位置發布至公開的 Meshtastic 地圖
  • 自訂資料管線,用於記錄與警示通知

運作方式

〔您的節點〕→ 無線電 → 〔具備 Wi-Fi 的閘道節點〕→ MQTT 代理伺服器 → 〔遠端閘道〕→ 無線電 → 〔遠端節點〕
-

具備網際網路連線(Wi-Fi 或乙太網路)的閘道節點,將 mesh 訊息發布至 MQTT 主題。 訂閱相同主題的遠端閘道,將這些訊息注入其本地 mesh 網路。

設定

啟用 MQTT

  1. 前往「設定 → 模組設定 → MQTT」。
  2. 啟用 MQTT 模組。
  3. 設定代理伺服器連線:

MQTT toggle switch

設定 描述說明 默認
伺服器位址 MQTT 代理伺服器主機名稱 mqtt.meshtastic.org
使用者名稱 代理伺服器驗證 meshdev
密碼 代理伺服器驗證 large4cats
根主題 訊息的基礎主題 msh
加密 加密 MQTT 承載內容 已啟用
JSON 輸出 ⚠️ 已棄用——韌體已移除 JSON 封包支援;此欄位將被忽略 已停用
TLS 與代理伺服器的安全連線 已停用
地圖回報 將位置回報至公開地圖 已停用

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

預設 Meshtastic 代理伺服器

社群在 mqtt.meshtastic.org 維護一個公開的代理伺服器。 此伺服器供一般使用與測試之用。

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 隱私:公開代理伺服器上的訊息,任何訂閱者均可讀取。 私人通訊請務必啟用頻道加密。

私有代理伺服器

為了獲得更好的隱私保護與控制權,您可以自行架設 MQTT 代理伺服器:

  • Mosquitto(輕量、開放原始碼)
  • HiveMQ
  • EMQX

請將您的節點設定為指向私有代理伺服器,並輸入相應的登入憑證。

地圖回報

啟用地圖回報後,您的節點將把位置發布至 Meshtastic 社群地圖:

  • 可在〔meshmap.net〕(https://meshmap.net) 及類似的社群地圖服務上查看
  • 僅分享位置與節點資訊
  • 若不希望位置公開顯示,請停用此功能

上行 vs 下行

方向 描述說明
上行 訊息從 mesh 網路 → MQTT 代理伺服器
下行 訊息從 MQTT 代理伺服器 → mesh 網路

可依頻道設定哪些方向為啟用狀態,以控制訊息流向與無線電佔用時間。

訊息格式

MQTT 使用 protobuf 訊息格式:

格式 描述說明 使用情境
Protobuf 二進位 Meshtastic protobuf 編碼 節點間 mesh 橋接

⚠️ 注意:韌體已移除 JSON 輸出支援。 Json_enabled 設定在應用程式中仍會顯示,以維持舊版相容性,但對目前的韌體版本不會產生任何效果。

加密與隱私

了解分層加密模型:

  1. 頻道加密在 mesh 網路上進行,發生於 MQTT 傳輸之前。 若您的頻道已設定 PSK,MQTT 承載內容將已加密——代理伺服器及任何訂閱者只能看到密文。
  2. MQTT 加密(模組設定)在傳輸至代理伺服器的過程中新增額外的加密層。 此設定可保護中繼資料與路由資訊。
  3. TLS 對連接至代理伺服器的 TCP 連線進行加密,防止網路層級的竊聽。

🔒 重要:預設公開頻道使用眾所周知的金鑰。 透過 MQTT 傳送的預設頻道訊息實際上等同於未加密 — 任何人均可解碼。 私人通訊請務必使用自訂 PSK。

最佳實踐

  • 在橋接至 MQTT 的頻道上使用頻道層級加密(PSK)
  • 請勿在無法連接網際網路的節點上啟用 MQTT(這將導致緩衝堆積並浪費記憶體)
  • 敏感部署環境請使用私有代理伺服器
  • 從繁忙的 MQTT 主題下行訊息時,請留意無線電佔用時間——每則下行訊息都會消耗本地 mesh 網路的無線電佔用時間
  • 若僅需遠端監控 mesh 網路而不需注入訊息,建議僅啟用上行模式

故障排除

MQTT 無法連線

  • 檢查 Wi-Fi——閘道節點必須具備有效的網際網路連線(Wi-Fi 或乙太網路)。 MQTT 無法直接透過 LoRa 無線電連結運作。
  • 確認登入憑證 — 帳號或密碼錯誤在大多數代理伺服器上會靜默失敗,不顯示錯誤訊息。 請仔細確認是否有多餘的尾端空白字元。
  • 防火牆 — 連接埠 1883(MQTT)或 8883(MQTT+TLS)必須開放。 部分網路會封鎖非標準連接埠。
  • DNS 解析 — 若使用自訂代理伺服器主機名稱,請確認節點能夠正確解析該名稱。 請嘗試直接使用代理伺服器的 IP 位址進行連線。

訊息未正常橋接

  • 檢查上行/下行設定 — 若僅啟用上行,訊息只會從 mesh 網路流向 MQTT,不會反向傳送。 請在接收端閘道上啟用下行功能。
  • 頻道不符 — 兩個閘道必須使用相同頻道且具備相同的 PSK。 不符時,訊息將以不同金鑰加密,導致對方收到的內容為亂碼。
  • 主題不符 — 請確認兩個閘道使用相同的根主題。 預設的 msh 適用於公開代理伺服器。

相關主題

  • 〔設定 — 模組與管理〕(settings-module-admin) — MQTT 模組設定參考
  • 〔訊息與頻道〕(messages-and-channels) — 頻道加密與 PSK 設定
  • 〔MQTT 整合指南〕(https://meshtastic.org/docs/software/integrations/mqtt) — meshtastic.org 上的完整 MQTT 說明文件


diff --git a/v2.8.0/zh-rTW/user/node-metrics.html b/v2.8.0/zh-rTW/user/node-metrics.html deleted file mode 100644 index df533de60f..0000000000 --- a/v2.8.0/zh-rTW/user/node-metrics.html +++ /dev/null @@ -1,2 +0,0 @@ - Node Metrics | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Node Metrics

The node detail screen provides comprehensive telemetry and metrics for each node on your mesh.

裝置計量資料

Basic operating information reported by each node:

公制(公里/公尺) 描述說明
Battery Level Current battery percentage
電壓 Battery voltage reading
頻道使用量 Percentage of airtime consumed
Airtime Transmission time used by this node
運行時間 Time since last reboot

Device metrics are displayed as individual cards with trend sparklines showing battery level, voltage, channel utilization, airtime, and uptime over time.

💡 Tip: Tap any metric card to expand it into a full chart with historical data points. Pinch to zoom the time axis.

環境計量資料

Environmental sensor data (requires compatible hardware):

公制(公里/公尺) Sensor Examples
溫度 BME280, BME680, SHT31
濕度 BME280, BME680, SHT31
大氣壓力 BME280, BMP280
氣體感測器 BME680
IAQ (Air Quality) BME680

Environment metrics are charted over time for easy trend analysis — temperature, humidity, and pressure each get their own line chart with the measurement unit displayed on the Y axis.

The BME680 IAQ (Indoor Air Quality) index is a single 0–500+ value derived from gas resistance, shown against a color-coded scale from Excellent to Dangerously Polluted:

IAQ index scale from Excellent to Dangerously Polluted

💡 Tip: Environment metrics require a sensor connected to the remote node. Not all nodes report environmental data. See Telemetry & Sensors for a full list of supported sensors.

Air Quality Metrics

Air Quality is a dedicated metrics view for nodes equipped with a particulate-matter and/or CO₂ sensor. It is separate from the BME680 IAQ reading listed under Environment Metrics — IAQ is a single gas-resistance-derived index, while the Air Quality view charts the underlying particulate and CO₂ measurements.

公制(公里/公尺) 單位 描述說明
PM1.0 µg/m³ Particulate matter up to 1.0 micron
PM2.5 µg/m³ Particulate matter up to 2.5 microns
PM10 µg/m³ Particulate matter up to 10 microns
AQI EPA index EPA NowCast AQI computed from your recent PM2.5 history, with a color-coded severity label. Shown next to PM2.5 once enough readings have accumulated.
CO₂ ppm Carbon dioxide concentration
CO₂ temperature °C / °F Temperature reported by the CO₂ sensor itself (e.g. SCD4x)
CO₂ humidity % Relative humidity reported by the CO₂ sensor

CO₂ readings are color-coded by severity to make air quality easy to read at a glance:

Band CO₂ Range (ppm) 顏色
良好 < 1000 Green - 綠色
Stuffy < 2000 Amber
Poor < 5000 橙色
Unsafe < 30000 Red - 紅色
Evacuate ≥ 30000 Dark red

Air quality readings with color-coded CO₂ severity

An air-quality log/metrics button appears on the node detail screen only when the node has reported air-quality telemetry. From the Air Quality view you can:

  • Select a time frame for the charts.
  • Filter with metric chips — only metrics that have data are shown.
  • Refresh / request the latest air-quality telemetry.
  • Export to CSV for analysis in a spreadsheet.

💡 Tip: Air Quality metrics require a compatible air-quality sensor on the remote node. If a node has no particulate or CO₂ sensor, the air-quality button won’t appear. See Telemetry & Sensors for supported hardware.

Signal Metrics

Radio signal quality information:

公制(公里/公尺) 描述說明
SNR Signal-to-Noise Ratio (higher is better)
RSSI Received Signal Strength Indicator (closer to 0 is better)
Noise Floor Local background RF noise in dBm (more negative is quieter)
跳躍次數 Number of mesh hops for last message

Signal Quality Reference

Signal quality is rated from SNR relative to the active LoRa modem preset’s demodulation floor, not from fixed thresholds — a given SNR means different things on different presets (e.g. −15 dB is fine on LongSlow but unusable on ShortFast). RSSI is shown but is not part of the rating. Letting limit be the preset’s SNR limit:

Quality Criteria
良好 SNR above the preset’s limit
普通 less than 5.5 dB below the limit
不良 5.5 dB to 7.5 dB below the limit
無 more than 7.5 dB below the limit

See Understanding the Signal Meter for the full explanation.

Local Stats from your connected radio are also shown in Signal Quality when available. These logs include noise floor, traffic counters, relay counters, online node counts, and radio uptime. The noise floor chart uses a dashed reference line at -85 dBm to help identify a busy RF environment. Use Request to ask the connected radio for a fresh Local Stats telemetry report, Clear to remove Local Stats logs for that node, and Save to export the visible Local Stats history as CSV.

電源計量資料

Power management telemetry (requires INA sensor or compatible hardware):

公制(公里/公尺) 描述說明
Bus Voltage Supply voltage
目前 Power draw in milliamps
電力 Calculated wattage

路由追蹤

Traceroute shows the path a message takes through the mesh:

  1. From the node detail screen, tap Traceroute.
  2. The app sends a traceroute request to the target node.
  3. Results show each hop with SNR/RSSI values.

Reading Traceroute Results

You → Node A (SNR: 8.5) → Node B (SNR: 5.2) → Target
-

Each hop represents a relay node that forwarded the message.

定位日誌

Historical position data for nodes that share their location:

  • GPS coordinates
  • 海拔高度
  • Speed (if moving)
  • Timestamp for each position report

鄰近節點資訊

Shows which nodes a given node can directly hear, useful for understanding mesh topology.

Viewing Metrics

  1. Navigate to Nodes.
  2. Tap the node you want to inspect.
  3. Select the metric category from the detail tabs.

Node detail — local device

The position tab shows location data for nodes that share GPS:

Position inline content

⚠️ Note: Metrics are only available when they have been reported by the remote node. Metrics update at intervals configured on each node’s telemetry settings.



diff --git a/v2.8.0/zh-rTW/user/nodes.html b/v2.8.0/zh-rTW/user/nodes.html deleted file mode 100644 index 16711af934..0000000000 --- a/v2.8.0/zh-rTW/user/nodes.html +++ /dev/null @@ -1 +0,0 @@ - 節點 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

節點

The Nodes screen displays all devices visible on your mesh network.

Node List

The node list shows every node your radio has heard, including:

  • Node name — user-configured long name
  • Short name — 4-character identifier
  • Signal quality — last heard signal strength
  • Last heard — time since last communication
  • Distance — estimated distance (if positions are shared)
  • Battery — remote node battery level (if telemetry is enabled)

Node Status Indicators

Badge Meaning
🟢 Online Node heard within the last 2 hours
⚪ Offline Node not heard for over 2 hours
⭐ Favorite Node marked as favorite by the user

A node is considered online if it was heard within the last 2 hours, and offline otherwise — there is no separate “away” tier.

Node Roles

Nodes can be configured with different roles that affect their mesh behavior:

角色 描述說明
用戶端 Standard end-user device
客戶端基礎模式 Treats favorited-node traffic as Router Late priority; all other traffic as Client
Client Mute Receives but doesn’t retransmit
Client Hidden Like Client Mute, plus hides from node list
Router Prioritizes message forwarding; stays awake to relay
Router Late Infrastructure node that rebroadcasts once, but only after all other modes (provides supplemental coverage)
Router Client ⚠️ Deprecated (removed in firmware 2.3.15) — no longer selectable; use Router or Client instead
Repeater ⚠️ Deprecated (removed in firmware 2.7.11) — no longer selectable; use Router instead
Repeater Optimized for position reporting at regular intervals
感測器 Optimized for telemetry reporting
TAK Interoperates with TAK systems (sends/receives CoT)
TAK Tracker TAK position reporting only
Lost & Found Continuous position beacon for recovery

Choosing a Role

Most users should keep the default Client role. Consider a different role when:

  • Router — You have a node in a fixed, elevated location with reliable power (rooftop, hilltop). Routers stay awake continuously to relay messages for others and are essential for extending mesh coverage. Don’t use Router on battery-powered handheld devices.
  • Router Late — An infrastructure node that always rebroadcasts packets once but only after all other routing modes have had their turn. Provides supplemental coverage for local clusters without competing with primary routers.
  • Client Base — Treats traffic from/to your favorited nodes with Router Late priority (ensuring those messages get extra relay coverage) while handling everything else as a normal Client.
  • Client Mute — You want to receive mesh traffic but not contribute to relaying. Useful for monitoring-only devices or to reduce congestion in dense areas.
  • Tracker — An unattended device whose sole purpose is broadcasting its GPS position (e.g., a vehicle, pet, or asset). Sleeps between broadcasts to conserve battery.
  • Sensor — An unattended device reporting environmental telemetry (temperature, humidity, air quality). Similar power profile to Tracker.
  • TAK / TAK Tracker — Only needed if interoperating with ATAK/WinTAK systems. See TAK Integration for details.

💡 Tip: The mesh works best when most nodes are Client or Router. Too many Mute nodes reduces mesh resilience; too many Routers in a dense area can cause congestion. A good rule of thumb: one Router per 5–10 Clients in your area.

Encryption Indicators

Nodes display encryption status icons next to their name:

Icon Meaning
🔒 Locked Communication uses PKI (public key infrastructure) — end-to-end encrypted with verified identity
🔓 Unlocked Communication uses shared channel PSK — encrypted but identity not individually verified
⚠️ Mismatch Public key mismatch — the node’s key has changed since last seen (investigate before trusting)

💡 Tip: PKI encryption (firmware 2.5+) provides stronger security than channel PSK because each node has a unique key pair. If you see a key mismatch warning, the node may have been reset or compromised.

Quick Actions

From the node list, you can:

  • Tap a node to view its detail page
  • Long-press for quick actions:
    • Mark/remove favorite
    • Mute/unmute notifications
    • Send a direct message
    • Trace route
    • Ignore/unignore
    • 移除節點

Filtering & Sorting

Type in the search field to filter nodes by name or short name. The filter updates in real time as you type.

Filter Toggles

過濾器 描述說明
Only online Show only nodes heard within the last 2 hours
Only direct Show only nodes with direct (non-relayed) connections
Include unknown Show nodes that haven’t sent user info yet
Exclude infrastructure Hide infrastructure-role nodes (Router, Router Late, Client Base)
Exclude MQTT Hide nodes heard only via MQTT internet bridge
Show ignored Show nodes you’ve previously dismissed or muted

Sort Options

Sort 描述說明
Last heard (default) Most recently heard nodes first
Alphabetical Sorted by node long name
Distance Nearest nodes first (requires position sharing)
Hops away Fewest relay hops first
Channel Grouped by channel index
Via MQTT Grouped by MQTT vs. radio-heard
Favorites Favorited nodes first

Nodes per Hop

Tap the hop-histogram icon in the node list’s app bar to open a bar chart of how many nodes sit at each hop distance (0 = direct, 1 = one relay away, and so on). Filter the chart to a last heard window — All time, 1 hour, 8 hours, or 24 hours — to see how the mesh looks right now versus over a longer period. It’s a quick way to gauge how busy and spread out your local mesh is.

Node Detail

Tapping a node opens the detail view with comprehensive information. See Node Metrics for full details on metrics and telemetry.

Node detail view

The detail screen includes device info, position, and action buttons:

Node detail section

Inline status indicators show key metrics at a glance:

Indicator 螢幕截圖
Signal quality Signal
電池電量 Battery
Hop count Hops
最近一次收到排序 Last heard
距離 Distance

When a node’s hardware is recognized, the detail view shows a collapsible “I want one” section linking to places to buy or learn more about that device: the vendor’s product page, product variants, and regional marketplace listings (such as AliExpress, Amazon, and supported retailers), filtered to your country. Each link opens through the msh.to redirect service. Devices with no matching links don’t show the section.

A full, browsable directory of every link is also available under Settings → Help & Documentation → Device Links.



diff --git a/v2.8.0/zh-rTW/user/onboarding.html b/v2.8.0/zh-rTW/user/onboarding.html deleted file mode 100644 index ee0182ca7b..0000000000 --- a/v2.8.0/zh-rTW/user/onboarding.html +++ /dev/null @@ -1 +0,0 @@ - 新手入門 | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

# 入門指南

Welcome to Meshtastic! This guide walks you through the initial setup of the Meshtastic Android app.

First Launch

When you open the app for the first time, you’ll be guided through an introductory flow that helps configure essential permissions and settings. Each step can be completed in order, or you can skip and configure permissions later in Android settings.

Welcome Screen

The welcome screen introduces Meshtastic and its core capabilities:

  • Off-grid mesh communication
  • No cellular or internet required
  • End-to-end encrypted messaging

Tap Get Started to proceed through the setup flow.

Welcome screen

Permissions

The app requests several permissions during setup. Each one serves a specific purpose, and some are required for core functionality.

Bluetooth Permission

Bluetooth is the primary connection method between your phone and Meshtastic radio:

  • Bluetooth scanning — discover nearby Meshtastic radios
  • Bluetooth connect — establish and maintain connections with paired radios

Grant both permissions when prompted. Without Bluetooth, you’ll need to use USB or TCP connections instead.

Location Permission

⚠️ Why is location required for Bluetooth? Android requires location permission to discover nearby Bluetooth Low Energy devices. This is an Android system requirement, not a Meshtastic-specific choice.

Meshtastic also uses your location for:

  • Showing your position on the mesh map
  • Calculating distances to other nodes
  • Sharing your GPS coordinates with other mesh members (if enabled)

Grant “While using the app” or “Always” depending on your preference:

  • While using the app — position updates only when the app is open
  • Always — enables background position updates for always-on mesh presence

If denied, Bluetooth scanning will not function and your node will not report a position.

Notifications Permission

Notifications alert you to:

  • Incoming messages from channels and direct messages
  • New nodes joining the mesh
  • Low battery on a remote node

💡 Tip: You can fine-tune notification preferences later in Android system settings — the app creates a separate notification channel per category (plus a few internal ones, like the background service), so you can enable or silence them individually.

Critical Alerts Permission

On supported devices, the app may request permission for critical alerts:

  • These are high-priority notifications that can break through Do Not Disturb mode
  • Useful for emergency mesh alerts or urgent messages
  • You can skip this step if you don’t need breakthrough notifications
  • Configure or revoke later in Android notification settings

After Setup

Once permissions are granted, the app transitions to the main interface. Your first action should be connecting to a Meshtastic radio — see Connections for detailed instructions.

💡 Tip: If you skipped any permissions during setup, you can grant them later through Android Settings → Apps → Meshtastic → Permissions. The app will prompt you again if a missing permission blocks a feature you try to use.

What’s Next?

Once connected to a radio, explore:

New to Meshtastic? The getting started guide on meshtastic.org covers hardware selection, initial radio configuration, and your first mesh setup.



diff --git a/v2.8.0/zh-rTW/user/settings-module-admin.html b/v2.8.0/zh-rTW/user/settings-module-admin.html deleted file mode 100644 index 753062ec77..0000000000 --- a/v2.8.0/zh-rTW/user/settings-module-admin.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Modules & Admin | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Settings — Modules & Admin

Configure optional feature modules and perform device administration. Modules extend Meshtastic with specialized capabilities — each can be independently enabled or disabled.

💡 Tip: You only need to enable the modules you actually use. Disabling unused modules reduces airtime, saves battery, and simplifies your configuration.

Module settings use a card-based layout with toggle switches, dropdowns, text fields, and sliders:

Toggle switch

Dropdown selector

Text field

Settings card layout

模組設定

MQTT Module

Bridges mesh messages to and from an MQTT broker for internet connectivity. This is how you extend your mesh beyond radio range or integrate with home automation systems.

設定 描述說明
已啟用 Toggle MQTT bridge
伺服器 MQTT broker address
使用者名稱 Authentication username
密碼 Authentication password
加密 Encrypt MQTT payloads
JSON Output ⚠️ Deprecated — JSON support removed from firmware; field is ignored
TLS Use secure connection
根主題 Base MQTT topic path
Map Report Publish position for public map

See MQTT for a detailed usage guide including encryption, privacy, and broker setup.

Serial Module

Enables serial port communication for external device integrations (GPS modules, sensors, or custom hardware). When enabled, the node’s serial port can send and receive protobuf or text data, allowing external microcontrollers or computers to interact with the mesh.

設定 描述說明
已啟用 Activate serial communication
Echo Echo received serial data back
模式 Text, Protobuf, or NMEA output
RX/TX Pins GPIO pins for serial connection
鮑率 Serial communication speed

External Notification Module

Controls buzzer, LED, or vibration alerts on your radio hardware. Useful for devices that need to physically signal when a message arrives — particularly helpful for unattended or outdoor installations.

設定 描述說明
已啟用 Activate notifications
Alert Message Notify on incoming messages
Alert Message Buzzer Use buzzer for messages
Alert Message Vibra Use vibration for messages
Alert Bell Notify on bell character
Output (GPIO) Pin for notification output
Active High or Low active
Duration (ms) Notification length
Use I2S as Buzzer Use I2S audio output

Store & Forward Module

Buffers messages for nodes that were temporarily offline, then replays them when those nodes reconnect. Essential for meshes where nodes go in and out of range regularly — ensures messages aren’t lost during brief disconnections.

設定 描述說明
已啟用 Activate store and forward
心跳 Periodically announce this node’s store-and-forward capability
紀錄 Maximum stored messages
History Return (max) Max messages to replay
History Return (window) Time window for replay
伺服器 Act as a store-and-forward server for the mesh (requires ample memory, e.g. ESP32 with PSRAM)

💡 Tip: Store and Forward works best on nodes with ample memory (ESP32 with PSRAM). Router nodes are ideal candidates since they’re typically always-on.

Range Test Module

Automated range testing tool for evaluating link quality between nodes. When enabled, the node periodically transmits test messages with incrementing counters. A receiver node logs these messages, allowing you to walk or drive away and later analyze at what distance messages stopped arriving.

設定 描述說明
已啟用 Activate range testing
Sender Interval (s) Time between test transmissions
Save CSV Log received test data to SD card

Telemetry Module

Controls what telemetry data your node shares with the mesh. Telemetry includes device health (battery, uptime) and environmental sensor data (temperature, humidity, pressure).

設定 描述說明
Device Metrics Interval How often to report device metrics
Environment Metrics Interval How often to report environment sensors
空氣品質已啟用 Report particulate sensor data
已啟用電源量測指標 Report power usage

See Telemetry & Sensors for supported sensors and configuration recommendations.

Canned Message Module

Pre-configured messages accessible from the device’s physical buttons (for radios with rotary encoders, keypads, or similar input hardware). Define a list of quick-send messages that can be transmitted without a phone connected — ideal for field use.

設定 描述說明
Enabled ⚠️ Deprecated — current firmware may ignore this toggle
訊息 Newline-separated list of messages
傳送 Bell Play bell sound on send
Rotary Encoder Enable rotary encoder input
Up/Down/Press Pins GPIO pin assignments for input

Audio Module

Codec2 audio support for low-bandwidth voice communication over the mesh. This is an experimental feature that encodes voice into very small data packets using the Codec2 codec.

設定 描述說明
已啟用 Activate audio module
Codec2 Rate Audio quality/bandwidth tradeoff
I2S 字元選擇 GPIO pin for I2S WS
I2S Data In GPIO pin for I2S DIN
I2S Data Out GPIO pin for I2S DOUT

⚠️ Note: Audio requires specific hardware (I2S microphone and speaker). Voice quality is very low-bandwidth — think “understandable radio voice,” not phone-call quality.

Remote Hardware Module

GPIO control over the mesh network. Allows a remote node to read or write GPIO pins on another node — useful for activating relays, reading switches, or controlling external hardware from a distance.

設定 描述說明
已啟用 Activate remote GPIO access
Allow Undefined Pins Allow access to any GPIO pin (security risk)
Available Pins Up to 4 GPIO pins this node exposes for remote read/write

⚠️ Warning: Enabling “Allow Undefined Pins” gives remote nodes access to all GPIO pins, which could interfere with the radio’s own hardware. Only enable on dedicated GPIO nodes.

Neighbor Info Module

Broadcasts information about directly heard neighbors, enabling mesh topology mapping. Each enabled node periodically shares a list of the other nodes it can hear and their signal quality.

設定 描述說明
已啟用 Activate neighbor broadcasting
Update Interval (s) How often to broadcast neighbor list
透過 LoRa 傳輸 Also broadcast neighbor info over LoRa, not just MQTT/phone. Unavailable on a channel using the default key and name

See Discovery for how to use neighbor data for mesh topology exploration.

Ambient Lighting Module

Controls onboard NeoPixel or other addressable RGB LEDs on supported hardware. Can be used for visual status indicators, notification lights, or decorative effects.

設定 描述說明
LED 狀態 Turn the LED on or off
目前 LED current limit (0–31)
Red / Green / Blue Individual color channel values (0–255)

Detection Sensor Module

Turns your node into a motion or door sensor alert system. When a GPIO pin detects a state change (motion detected, door opened), the node broadcasts an alert message over the mesh.

設定 描述說明
已啟用 Activate detection sensor
監控腳位 GPIO pin connected to sensor
Detection Trigger Type How the pin’s state maps to a detection event (e.g. active high/low, edge-triggered)
Use Input Pullup Mode Enable the pin’s internal pull-up resistor
Minimum Broadcast (s) Minimum time between alert broadcasts
State Broadcast (s) Periodic state broadcast interval
傳送 Bell Include bell character in alerts
友善名稱 Custom name for this sensor

Paxcounter Module

People counter using WiFi and BLE probe requests. Counts nearby devices by passively listening for probe requests that phones and laptops emit when scanning for networks. Available only on ESP32 devices.

設定 描述說明
已啟用 Activate people counting
Update Interval (s) How often to report counts

💡 Tip: Paxcounter is useful for estimating foot traffic at trailheads, event venues, or other locations. Counts are approximate — one person may carry multiple devices.

TAK Module

Team Awareness Kit integration for interoperability with ATAK and WinTAK. See TAK Integration for detailed setup and usage.

管理

遠端管理

Remotely configure nodes that share your admin key:

  1. Select the target node in the node list.
  2. Navigate to Settings for that node.
  3. Modify configuration.
  4. Tap Save — changes are sent over the mesh.

⚠️ Requires: Admin key configured on both your node and the target node.

清除節點資料庫

Removes stale nodes from your local database that haven’t been heard in a configurable time window.

恢復原廠設定

Resets all settings to factory defaults. This cannot be undone.

重新開機

Remotely reboot a connected or administered node.

偵錯面板

Opens the Packets and App logs tabs for viewing, filtering, and exporting diagnostic output. See Debug Logs for the full walkthrough.

Troubleshooting Remote Admin

  • “No response from target node” — the target may be out of range, offline, or have a mismatched admin key. Verify the admin key matches on both nodes.
  • Changes not applying — some settings require a reboot to take effect. Try the Reboot action after saving.
  • Can’t see remote settings — ensure your node has the admin key for the target node. The admin channel is configured automatically when an admin key is set.


diff --git a/v2.8.0/zh-rTW/user/settings-radio-user.html b/v2.8.0/zh-rTW/user/settings-radio-user.html deleted file mode 100644 index 4975a78ce8..0000000000 --- a/v2.8.0/zh-rTW/user/settings-radio-user.html +++ /dev/null @@ -1 +0,0 @@ - Settings — Radio & User | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Settings — Radio & User

Configure your radio hardware and user identity parameters.

使用者設定

User Profile

設定 描述說明
長名稱 Your display name (up to 39 characters)
簡短名稱 4-character abbreviated name
Licensed Operator Enable if you hold an amateur radio license (enables higher power)

Applying Changes

After modifying settings, tap Save to write the configuration to your radio. The device may reboot to apply changes.

設定

設備設置

設定 描述說明 默認
角色 Node behavior (Client, Router, etc.) 用戶端
## Rebroadcast Mode轉發廣播模式 How the node retransmits messages 全部
Node Info Broadcast (s) Interval for broadcasting node info 10800
Double-tap Button Action for double-tap button press Disabled

LoRa規劃

設定 描述說明 默認
地區 Regulatory region for frequency bands Unset (must configure)
數據機預設值 (Modem Preset) Speed/range tradeoff LongFast
躍點限制 Maximum retransmit hops 3
TX Power Transmission power (dBm); 0 = max allowed for region 0 (region max)
頻率偏移量 Fine-tune frequency (MHz) 0
Channel Bandwidth Bandwidth setting Default for preset

⚠️ Important: You must set your region before transmitting. Operating without the correct region may violate local radio regulations. See the region configuration guide on meshtastic.org for details.

Modem Presets

💡 Tip: The SNR Limit values are negative on purpose. LoRa can decode signals below the noise floor, so a more-negative limit means the preset tolerates a weaker, noisier signal (more range). See How the Signal Meter Works for the full explanation.

Preset 範圍 速度 SNR Limit Best For
短 Turbo ~1 km 21.9 kbps −7.5 dB Dense urban with line-of-sight; data-heavy applications
短 快 ~3 km 10.9 kbps −7.5 dB Urban neighborhoods; buildings within a few blocks
短 慢 ~5 km 5.5 kbps −10 dB Suburban short-range; moderate building density
中等快 ~5 km 5.5 kbps −12.5 dB Suburban areas; moderate building density
中等慢 ~8 km 1.1 kbps −15 dB Suburban/rural; moderate range with slower speed
Long Turbo ~10 km 4.4 kbps −12.5 dB Similar range to Long Fast but with 500 kHz bandwidth; faster throughput
Long Fast ~10 km 1.1 kbps −17.5 dB General use (default) — balanced range and speed
長度中等的 ~20 km 0.34 kbps −17.5 dB Rural with some terrain; occasional use
Lite Fast ~5 km 5.5 kbps −12.5 dB EU 866 MHz SRD band (125 kHz BW); comparable to Medium Fast
Lite Slow ~10 km 1.1 kbps −15 dB EU 866 MHz SRD band (125 kHz BW); comparable to Long Fast
Narrow Fast ~5 km 2.7 kbps −10 dB EU 868 MHz band (62.5 kHz BW); avoids interference with other devices
Narrow Slow ~10 km 1.1 kbps −12.5 dB EU 868 MHz band (62.5 kHz BW); comparable to Long Fast
Long Slow ~30 km 0.18 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release
Very Long Slow ~40+ km 0.09 kbps −20 dB ⚠️ Deprecated — still selectable but may be removed in a future firmware release

ℹ️ Note: This table uses the common short names. In the app’s preset dropdown they read as Short Range - Fast, Long Range - Fast, Lite - Fast, Narrow - Fast, and so on.

Choosing a Modem Preset

The modem preset controls the fundamental tradeoff between range and data rate:

  • Slower presets use more spreading, making signals decodable at weaker signal levels (lower SNR limit). This means longer range but fewer bytes per second.
  • Faster presets pack more data per transmission but require a stronger signal to decode.

Practical guidance:

  • Urban mesh (many nodes, short distances): Use Long Fast (default) or Short Fast. Higher speed means less airtime congestion when many nodes share the channel.
  • Rural/sparse mesh (few nodes, long distances): Use Long Moderate. Range matters more than speed when nodes are far apart.
  • EU 866/868 MHz regulatory compliance: Use Lite Fast, Lite Slow, Narrow Fast, or Narrow Slow — these are optimized for the EU SRD/868 MHz bands with narrower bandwidths.
  • Fixed infrastructure links: Use Short Turbo or Long Turbo for dedicated point-to-point links with good antennas and line-of-sight.
  • Mixed environments: Stick with Long Fast — it’s the community default and ensures compatibility with others in your area.

⚠️ Important: All nodes on the same channel must use the same modem preset. Nodes with mismatched presets cannot communicate even if they share the same frequency and encryption key.

💡 Tip: The range estimates above assume flat terrain and modest antennas. Elevation advantage (hilltop, rooftop) dramatically increases effective range. A well-placed Router with Long Fast can often outperform a ground-level node with Long Slow.

顯示設置

設定 描述說明
螢幕逾時 Time before display sleeps
顯示單位 Metric or Imperial
OLED類型 Auto, SSD1306, SH1106, SH1107
羅盤方位 Rotation offset for compass display (0°, 90°, 180°, 270°)
Compass North ⚠️ Deprecated — replaced by Compass Orientation; still visible in older firmware

位置設定

設定 描述說明
GPS Enabled Enable/disable GPS
GPS 更新間隔 How often to acquire GPS fix
Position Broadcast (s) How often to share position
智慧定位 Enable movement-based broadcasting
固定位置 Use a manually set position

電源設定

設定 描述說明
省電模式 Enable low-power sleep mode
Shutdown After (s) Auto-shutdown idle timer
ADC Multiplier Battery voltage calibration factor
Wait Bluetooth (s) Time to wait for BLE connection at boot
Mesh SDS Timeout (s) Super-deep-sleep timeout

網路配置

設定 描述說明
啟用 WiFi Enable WiFi radio (ESP32 devices)
WiFi SSID Network name to connect to
WiFi PSK 網路密碼
NTP 伺服器 Time synchronization server
Syslog Server Remote logging server

IP address field

藍牙配置

設定 描述說明
Bluetooth Enabled Enable/disable BLE radio
配對模式 Fixed PIN, Random PIN, or No PIN
固定 PIN PIN code for pairing (default: 123456)

安全性設定

設定 描述說明
公鑰 Your node’s public key (read-only)
管理金鑰 Key for remote administration
私鑰 Your node’s private key (handle securely)
Admin Channel Enabled ⚠️ Removed — now configured automatically when an admin key is set
除錯日誌 Output live debug logging over serial/bluetooth
Serial Enabled Enable serial console access (moved from Device Config)
管理模式 Restrict non-admin channel changes
備份金鑰 Save an encrypted backup of the node’s keys on this device (Android only)
Restore Keys Write the backed-up keys back to the node (available once a backup exists)
Delete Key Backup Remove the stored key backup from this device
Protection Level Packet authenticity — how unsigned or relayed packets are treated: Strict, Balanced, or Compatible (requires supporting firmware; Strict asks for confirmation)

Password field

Settings use standard preference controls — dropdowns, toggles, and sliders:

Control 螢幕截圖
Dropdown Dropdown
Toggle Toggle
Slider Slider


diff --git a/v2.8.0/zh-rTW/user/signal-meter.html b/v2.8.0/zh-rTW/user/signal-meter.html deleted file mode 100644 index 849e364107..0000000000 --- a/v2.8.0/zh-rTW/user/signal-meter.html +++ /dev/null @@ -1,4 +0,0 @@ - How the Meshtastic Signal Meter Works | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

How the Meshtastic Signal Meter Works

The Meshtastic signal meter — the familiar bars or status color in the app — is calculated very differently than the “bars” on a traditional cell phone or WiFi router.

Most consumer devices simply measure how “loud” a signal is. However, because Meshtastic uses LoRa (Long Range) technology, its signal meter measures how clear the signal is, relative to the specific settings your mesh is using.


1. Meshtastic is an open source, decentralized, off-grid, privacy-respecting, encrypted communications platform built on affordable, readily available hardware. It enables you and your friends to communicate securely with text messages, share locations, and more over long ranges.

  1. It’s built on top of a software defined radio platform called LoRa, enabling inexpensive radios (based on popular chips like the ESP32, nRF52, and RP2040) to operate as long range, low power, and secure communicators.

  2. Common hardware includes devices like the RAK WisBlock series, T-Beam, Heltec, and LilyGo boards.

  3. Meshtastic supports communication over several radio channels, allowing you to separate traffic or experiment with different settings. You can configure parameters like the spreading factor, bandwidth, and coding rate to optimize for range, data rate, and reliability. These settings are often referred to as radio profiles, with common examples being “Long Fast” or “Mid Slow”.

  4. Besides LoRa, Meshtastic devices can also communicate using BLE for short-range communication with smartphones and other devices.

  5. Meshtastic devices can be configured using a variety of methods, including:
    • A mobile app (available for Android and iOS)
    • A web-based interface
    • A CLI
    • An API
  6. Meshtastic can also be integrated with other systems using protocols like MQTT.

  7. You can extend the functionality of Meshtastic devices by writing your own firmware or connecting external sensors and devices using the GPIO, USB, UART, SPI, and I2C interfaces.

  8. Meshtastic devices can be powered by batteries, USB, or other power sources.

  9. Meshtastic supports Over-The-Air (OTA) firmware updates via LoRa, WiFi or Bluetooth.

  10. Meshtastic allows for end-to-end encryption of messages.

  11. Meshtastic devices can act as repeaters, extending the range of the network. The Two Metrics: “Loudness” vs. “Clarity”

Every time the LoRa radio chip receives a message, it reports two measurements:

  • RSSI (Received Signal Strength Indicator): The loudness of the raw power hitting your antenna.
  • SNR (Signal-to-Noise Ratio): The clarity of the signal compared to the background static.

💡 Tip: Here’s an analogy — imagine you are trying to hear a friend talking to you.

  • RSSI is how loud their voice is.
  • The Noise Floor is the background noise in the room (air conditioning, other people talking, traffic).
  • SNR is how easily you can distinguish your friend’s voice from the background noise.

If your friend shouts at you at a deafening rock concert, the signal is incredibly loud (High RSSI), but you still can’t understand them because the background noise is louder (Bad SNR). Conversely, if your friend whispers to you in a dead-silent library, the signal is very weak (Low RSSI), but you can understand them perfectly (Great SNR).


2. The Magic of LoRa: Hearing “Below the Noise Floor”

For standard radios (like FM or WiFi), if the background noise is louder than the signal (a negative SNR), the receiver just hears static.

LoRa is special. It uses “Spread Spectrum” modulation, which allows the radio to mathematically pull a signal out of the air even when it is buried deep underneath the background noise. This is why you will frequently see negative SNR numbers in Meshtastic (e.g., -10 dB, which means the signal is 10 decibels weaker than the background static).

Depending on which Meshtastic preset you are using (e.g., LongFast vs. ShortFast), the radio has a specific SNR Limit — the absolute maximum amount of noise it can tolerate before the message is completely lost to the static.


3. How the Signal Meter Calculates Quality

The app rates your signal quality (None, Bad, Fair, or Good) from SNR alone, measured relative to the preset’s SNR Limit — the demodulation floor described above. It deliberately does not factor RSSI into the rating: without the local noise floor, RSSI cannot tell you whether a signal is actually decodable, so SNR-versus-the-preset-limit is the meaningful measure. (RSSI is still displayed to you elsewhere.)

Because the rating is relative to the preset limit, the same SNR can rate differently on different presets — -15 dB is healthy on LongSlow but unusable on ShortFast. Letting limit be the active preset’s SNR Limit, here is how the app picks the bars (or color):

| Level | Bars | Criteria | Meaning | | —– | ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————– | ————————————– | —————————————————————————————- | | 良好 | 3 | SNR above the preset’s limit | Signal is comfortably above the demodulation floor — healthy connection. | | 普通 | 2 | less than 5.5 dB below the limit | Decodable, but getting close to the floor. | | 不良 | 1. Overview Meshtastic is a project that allows you to use inexpensive LoRa radios as a long range, off-grid, decentralized communication platform. These radios, combined with readily available and very affordable microcontrollers like the ESP32, nRF52, and RP2040, create a network that can be used to send text messages, share locations, and more without relying on cellular or WiFi infrastructure. It's perfect for hiking, camping, or any situation where you need to stay connected beyond the reach of traditional networks. 2. Key Components```

  • LoRa Radios: These radios provide the long-range communication capabilities. The RAK Wireless modules are a popular choice.
  • Microcontrollers: The brains of the operation. ESP32, nRF52, and RP2040 are commonly used due to their low cost and capabilities.
  • GPS (Optional): For location sharing. Many devices, like the T-Beam, have built-in GPS.
  • Battery (Optional): For portable use.
  • Enclosure (Optional): To protect the hardware. 3. **Popular Devices**
  • T-Beam: A popular board with ESP32, LoRa, and GPS.
  • Heltec WiFi LoRa 32: Another popular ESP32-based board with LoRa.
  • LilyGo Boards: LilyGo offers a variety of ESP32 and nRF52 based boards with LoRa. 4. **Features**
  • Text Messaging: Send and receive text messages over the LoRa network.
  • Location Sharing: Share your location with other users on the network (requires GPS).
  • Encryption: Messages can be encrypted for privacy.
  • Mesh Networking: The network automatically routes messages through other nodes to reach the destination.
  • Off-Grid Communication: No cellular or WiFi required.
  • Channel Settings: Customize channel settings for different regions and use cases (Long Fast, Mid Slow, etc.). 5. **Software & Firmware**
  • Meshtastic Firmware: The core software that runs on the microcontrollers.
  • Meshtastic Mobile App: For configuring and interacting with the devices. Available on Android and iOS.
  • CLI (Command Line Interface): For advanced configuration and debugging.
  • API (Application Programming Interface): For integrating Meshtastic with other applications. 6. **Hardware Setup**
  • Flashing Firmware: You’ll need to flash the Meshtastic firmware onto your microcontroller. This is typically done using a USB connection and a flashing tool.
  • Connecting Peripherals: Connect the LoRa radio and any other peripherals (GPS, battery) to the microcontroller.
  • Antenna: Attach an appropriate antenna to the LoRa radio. 7. **Configuration**
  • Region Settings: Configure the correct region settings for your location.
  • Channel Settings: Choose a channel or create a custom channel.
  • Encryption: Enable encryption for secure communication.
  • Power Settings: Adjust power settings to optimize battery life. 8. **Technical Details**
  • LoRa Modulation: Uses LoRa modulation for long-range communication.
  • Frequency Bands: Operates on various frequency bands depending on the region (e.g., 915 MHz in North America, 868 MHz in Europe).
  • Microcontroller Interfaces: Uses various interfaces for communication between the microcontroller and peripherals, including GPIO, USB, UART, SPI, and I2C.
  • BLE (Bluetooth Low Energy): Used for initial configuration and communication with the mobile app.
  • WiFi: Some devices support WiFi for OTA (Over-The-Air) firmware updates.
  • MQTT: Supports MQTT for integration with other systems. 9. **Use Cases**
  • Hiking and Camping: Stay connected with your group in areas without cellular coverage.
  • Emergency Communication: Provide a backup communication system in case of emergencies.
  • Disaster Relief: Establish communication networks in areas affected by disasters.
  • Rural Communication: Connect communities in remote areas.
  • IoT Applications: Use Meshtastic for various IoT applications that require long-range communication. 10. **Resources**
  • Meshtastic Website: https://meshtastic.org/
  • Meshtastic Documentation: https://meshtastic.org/docs/
  • Meshtastic Forums: https://meshtastic.discourse.group/ ```1) 概觀

Meshtastic 是一個專案,讓你可以使用便宜的 LoRa 無線電作為長距離、離線、去中心化的通訊平台。這些無線電,結合了容易取得且非常實惠的微控制器,像是 ESP32、nRF52 和 RP2040,創建了一個網路,可以用來傳送簡訊、分享位置等等,而不需要依賴行動網路或 WiFi 基礎設施。它非常適合健行、露營,或任何你需要保持連線,但又超出傳統網路覆蓋範圍的情況。

2) 主要組件

  • LoRa 無線電: 提供長距離通訊能力。 RAK Wireless 模組是一個很受歡迎的選擇。
  • 微控制器: 運作的大腦。 ESP32、nRF52 和 RP2040 因為它們的低成本和功能而被廣泛使用。
  • GPS (可選): 用於位置分享。 許多裝置,像是 T-Beam,都有內建 GPS。
  • 電池 (可選): 用於攜帶型使用。
  • 外殼 (可選): 保護硬體。

3) 熱門裝置

  • T-Beam: 一個受歡迎的板子,具有 ESP32、LoRa 和 GPS。
  • Heltec WiFi LoRa 32: 另一個受歡迎的基於 ESP32 的板子,具有 LoRa。
  • LilyGo Boards: LilyGo 提供各種基於 ESP32 和 nRF52 的板子,具有 LoRa。

4) 功能

  • 簡訊傳輸: 透過 LoRa 網路傳送和接收簡訊。
  • 位置分享: 與網路上其他使用者分享你的位置 (需要 GPS)。
  • 加密: 可以加密訊息以保護隱私。
  • 網狀網路: 網路會自動透過其他節點路由訊息,以到達目的地。
  • 離線通訊: 不需要行動網路或 WiFi。
  • 頻道設定: 客製化不同地區和使用案例的頻道設定 (Long Fast、Mid Slow 等)。

5) 軟體與 Firmware

  • Meshtastic Firmware: 在微控制器上執行的核心軟體。
  • Meshtastic Mobile App: 用於配置和與裝置互動。 可在 Android 和 iOS 上使用。
  • CLI (Command Line Interface): 用於進階配置和除錯。
  • API (Application Programming Interface): 用於將 Meshtastic 與其他應用程式整合。

6) 硬體設定

  • 刷入 Firmware: 你需要將 Meshtastic firmware 刷入你的微控制器。 這通常是使用 USB 連線和刷入工具來完成的。
  • 連接週邊設備: 將 LoRa 無線電和任何其他週邊設備 (GPS、電池) 連接到微控制器。
  • 天線: 將適當的天線連接到 LoRa 無線電。

7) 配置

  • 區域設定: 為你的位置配置正確的區域設定。
  • 頻道設定: 選擇一個頻道或創建一個自定義頻道。
  • 加密: 啟用加密以進行安全通訊。
  • 電源設定: 調整電源設定以優化電池壽命。

8) 技術細節

  • LoRa 調變: 使用 LoRa 調變進行長距離通訊。
  • 頻率範圍: 根據地區在不同的頻率範圍上運作 (例如,北美為 915 MHz,歐洲為 868 MHz)。
  • 微控制器介面: 使用各種介面在微控制器和週邊設備之間進行通訊,包括 GPIO、USB、UART、SPI 和 I2C。
  • BLE (Bluetooth Low Energy): 用於初始配置和與行動應用程式的通訊。
  • WiFi: 某些裝置支援 WiFi 用於 OTA (Over-The-Air) firmware 更新。
  • MQTT: 支援 MQTT 用於與其他系統整合。

9) 使用案例

  • 健行和露營: 在沒有行動網路覆蓋的地區與你的團隊保持聯繫。
  • 緊急通訊: 在緊急情況下提供備份通訊系統。
  • 災害救援: 在受災害影響的地區建立通訊網路。
  • 農村通訊: 連接偏遠地區的社群。
  • IoT 應用: 將 Meshtastic 用於各種需要長距離通訊的 IoT 應用。

10) 資源

- **Meshtastic Website:** [https://meshtastic.org/](https://meshtastic.org/)
-- **Meshtastic Documentation:** [https://meshtastic.org/docs/](https://meshtastic.org/docs/)
-- **Meshtastic Forums:** [https://meshtastic.discourse.group/](https://meshtastic.discourse.group/) | `5.5 dB` to `7.5 dB` below the `limit` | At the very edge of what the preset can recover.                         | | 無     | 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | more than `7.5 dB` below the `limit`   | Below the floor — transmission lost to noise.                            |
-

Note: The fixed SNR thresholds you may have seen elsewhere (-7 dB / -15 dB) are now only used for coloring individual hops in traceroute results — not for the per-node signal meter described here.


4. What This Means for You

Because Meshtastic’s meter acts as a “Clarity Meter”, it behaves differently than what most people expect:

💡 Tip: Don’t panic over low RSSI. You might see a seemingly terrible RSSI value like -118 dBm. On a cell phone, you would have zero bars. But if you have an SNR of +2 dB, Meshtastic will still show a strong signal! The library is quiet, so the whisper is heard perfectly.

⚠️ Warning: Watch out for local noise. If you hook up a massive antenna and see a great RSSI (e.g., -90 dBm) but your signal meter is only showing 1 Bar (Bad), you have a problem. It means you have local interference — perhaps a cheap power supply, a noisy computer, or a nearby radio tower — creating so much static that it is drowning out your mesh.

Where Signal Information Appears

In the app, signal data is shown in several places:

  • Node list — signal bars icon next to each node
  • Node detail — SNR, RSSI, and signal quality in the device metrics section
  • Traceroute — per-hop signal quality for each relay node
  • Signal metrics — historical SNR and RSSI data in the metrics charts

Node entry showing SNR, RSSI values and colored signal bars

相關主題



diff --git a/v2.8.0/zh-rTW/user/tak.html b/v2.8.0/zh-rTW/user/tak.html deleted file mode 100644 index ee2f1b2527..0000000000 --- a/v2.8.0/zh-rTW/user/tak.html +++ /dev/null @@ -1 +0,0 @@ - TAK Integration | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

TAK Integration

Meshtastic integrates with the Team Awareness Kit (TAK) ecosystem, enabling interoperability between Meshtastic mesh devices and TAK applications like ATAK and WinTAK.

概觀

The TAK module allows Meshtastic nodes to:

  • Share position data in TAK-compatible CoT (Cursor on Target) format
  • Appear as team members on TAK map displays
  • Receive TAK PLI (Position Location Information) messages

設定

先決條件

  • ATAK (Android Team Awareness Kit) or WinTAK installed
  • Meshtastic ATAK Plugin installed
  • TAK module enabled on your Meshtastic radio

設定

  1. Navigate to Settings → Module Config → TAK.
  2. Enable the TAK module.
  3. Configure the TAK team/group settings:

Module toggle switch

設定 描述說明
已啟用 Activate TAK interop
模式 TAK-compatible output mode

ATAK Plugin Setup

  1. Install the Meshtastic ATAK Plugin from the plugin repository.
  2. Open ATAK and enable the Meshtastic plugin.
  3. The plugin bridges messages between ATAK and your mesh network.

Local TAK Server

The app can also run a local TAK server so ATAK/iTAK on the same device can connect directly, without a remote TAK server. The server binds to localhost only (127.0.0.1:8089) and uses TLS with mutual certificate authentication (mTLS), so it is not reachable from other devices on the network. Open Settings → Module Config → TAK → TAK Server:

Local TAK Server settings with enable toggle and export option

  • Enable Local TAK Server — starts the loopback-only mTLS server on port 8089 for ATAK/iTAK connections from the same device.
  • Export TAK Data Package — generates a .zip data package that ATAK/iTAK can import to connect to this server.

TAK Roles

Nodes configured with TAK-related roles behave differently from standard clients:

角色 描述說明
TAK Full TAK interoperability — sends and receives CoT data, chat messages, and PLI updates. Functions as a standard client plus TAK bridge.
TAK Tracker Position-only TAK output — automatically broadcasts PLI at regular intervals without user interaction. Optimized for unattended position beacons (vehicles, equipment, waypoints). Does not relay chat messages.

💡 Tip: Use TAK Tracker for devices that only need to report position (e.g., a radio mounted in a vehicle). Use TAK for devices where users actively participate in TAK operations.

CoT (Cursor on Target) Format

TAK messages use the Cursor on Target XML format — a military standard for sharing situational awareness data. Meshtastic converts its internal protobuf messages to CoT format when bridging to TAK systems, so no manual format conversion is needed.

TAK Identity

When using TAK roles, your node broadcasts identity information that appears on TAK maps:

設定 描述說明
隊伍顏色 Your team color on the TAK map (e.g., Blue, Red, Cyan, Green)
隊員角色 Your operational role (Team Member, Team Lead, HQ, Medic, RTO, etc.)

These settings appear in Settings → Module Config → TAK when the TAK module is enabled. Your TAK callsign isn’t a separate setting — it’s derived automatically from your Meshtastic node name.

💡 Tip: Team/role colors are the standard TAK affiliation colors. Coordinate with your TAK team to use consistent team assignments.

Wire Format (V1 / V2)

Meshtastic supports two TAK wire formats, chosen automatically based on the connected radio’s firmware — no manual configuration needed:

Format 相容性 特色
V1 (Legacy) Firmware 2.7.x and older Bare protobuf encoding on port 72. Supports position sharing (PLI) and chat (GeoChat) only — shapes, markers, routes, and other typed CoT events are dropped
V2 (Current) Firmware 2.8.0+ Compact, zstd-compressed encoding on port 78. Adds shapes, markers, routes, aircraft, casevac, emergency, and task CoT types on top of everything V1 supports

A node still relays legacy V1 packets from older nodes even while running V2 itself, so mixed-firmware meshes keep working.

Usage with ATAK

Once configured:

  • Meshtastic nodes appear as markers on the ATAK map with callsign labels
  • Chat messages can bridge between mesh and TAK networks
  • Position updates flow bidirectionally between Meshtastic and TAK
  • TAK Tracker nodes broadcast PLI automatically — their positions appear on ATAK maps without any ATAK-side configuration

⚠️ Note: TAK integration requires specific node roles and module configuration. Standard client nodes don’t automatically participate in TAK operations.

故障排除

Problem Cause Solution
Node doesn’t appear on ATAK map TAK module disabled or wrong role Verify TAK module is enabled and node role is TAK or TAK Tracker
Position updates are stale GPS fix lost or interval too long Check GPS status; reduce position broadcast interval in Position Config
ATAK plugin shows “disconnected” BLE connection lost or plugin crashed Reconnect Bluetooth in Meshtastic app, then restart ATAK plugin
Shapes, markers, or routes not bridging Sending node is on legacy V1 (firmware 2.7.x or older) Update the sending node’s firmware to 2.8.0+ for V2 wire format
CoT data not flowing Channel mismatch All TAK nodes must be on the same channel with matching encryption

Security Considerations

  • TAK data shares your position and callsign information
  • Ensure your channel encryption is configured when using TAK in sensitive environments
  • The TAK module respects the same channel encryption as other Meshtastic messages


diff --git a/v2.8.0/zh-rTW/user/telemetry-and-sensors.html b/v2.8.0/zh-rTW/user/telemetry-and-sensors.html deleted file mode 100644 index 713c0ef67e..0000000000 --- a/v2.8.0/zh-rTW/user/telemetry-and-sensors.html +++ /dev/null @@ -1 +0,0 @@ - Telemetry & Sensors | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Telemetry & Sensors

Meshtastic nodes can collect and share sensor data across the mesh network.

概觀

Telemetry allows nodes equipped with sensors to broadcast environmental, power, and device health information. This data is visible on the node detail screen and can be logged over time.

裝置遙測

All Meshtastic nodes report basic device telemetry:

公制(公里/公尺) 描述說明 Typical Range
Battery Level Charge percentage 0–100%
電壓 Battery voltage 3.0–4.2V (LiPo)
頻道使用量 % of airtime used locally 0–100%
Air Utilization TX % of airtime used by this node 0–100%
運行時間 Seconds since last boot Varies

Environment Sensors

Supported environmental sensors:

Temperature & Humidity

感測器 溫度 濕度 氣壓 備註
BME280 ✓ ✓ ✓ Recommended all-in-one
BME680 ✓ ✓ ✓ Adds gas resistance/IAQ
SHT31 ✓ ✓ — High accuracy
MCP9808 ✓ — — Precision temperature
LPS22 — — ✓ Pressure only

Air Quality

感測器 公制(公里/公尺) 備註
BME680 Gas Resistance / IAQ Volatile organic compounds
PMSA003I PM1.0, PM2.5, PM10 Particulate matter
SEN55 PM, NOx, VOC, Temp, Humidity Multi-sensor

Light & UV

感測器 公制(公里/公尺)
OPT3001 Ambient light (lux)
VEML7700 Ambient light (lux)
LTR390 UV index

電源計量資料

Nodes with INA-series power sensors can report:

公制(公里/公尺) 描述說明
Bus Voltage Supply rail voltage
目前 Power consumption (mA)
電力 Calculated power (mW)

Useful for monitoring solar charging or battery health on remote nodes.

Configuring Telemetry

  1. Navigate to Settings → Module Config → Telemetry.
  2. Set reporting intervals:
    • Device Metrics Interval — how often to broadcast device metrics
    • Environment Metrics Interval — how often to broadcast sensor data
  3. Enable specific sensor types as needed.
Use Case Device (s) Environment (s)
Urban mesh (many nodes) 3600 3600
Rural mesh (few nodes) 900 900
Weather station 900 300
Battery conservation 7200 7200

⚠️ Note: Shorter intervals increase airtime usage and battery drain across the mesh.

Air Quality Metrics

Nodes with particulate matter or CO₂ sensors report air quality data:

公制(公里/公尺) 單位 描述說明
PM1.0 µg/m³ Ultrafine particulate matter
PM2.5 µg/m³ Fine particulate matter
PM10 µg/m³ Coarse particulate matter
CO₂ ppm Carbon dioxide concentration

CO₂ sensors such as the SCD4x also report their own temperature and humidity, which appear alongside the readings above. From PM2.5 history the app additionally derives an EPA NowCast AQI value.

The CO₂ reading is color-coded by severity (Good → Stuffy → Poor → Unsafe → Evacuate). See Node Metrics — Air Quality for the exact ppm bands, colors, and AQI detail.

Air quality data can be viewed as info cards on the node detail screen, charted over time, and exported to CSV.

Viewing Telemetry

  1. Navigate to Nodes and select a node.
  2. Telemetry sections show on the detail screen:
    • Device Metrics (always available)
    • Environment Metrics (if sensors present)
    • Power Metrics (if INA sensor present)
    • Air Quality Metrics (if PM/CO₂ sensor present)
  3. Historical graphs show trends over time.

Telemetry actions

故障排除

  • No environment data showing? The remote node needs a physical sensor connected (e.g., BME280 on I2C). Device telemetry (battery, uptime) is always available, but environment metrics require hardware.
  • Stale readings? Check the reporting interval — very long intervals (7200s+) mean data updates infrequently. Also verify the remote node is still online.
  • Sensor conflict on I2C bus? Some sensors share I2C addresses. If you have multiple sensors on the same bus, check for address collisions in the radio’s serial debug output.


diff --git a/v2.8.0/zh-rTW/user/translate.html b/v2.8.0/zh-rTW/user/translate.html deleted file mode 100644 index f12d46d889..0000000000 --- a/v2.8.0/zh-rTW/user/translate.html +++ /dev/null @@ -1,19 +0,0 @@ - Translate the App | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses Crowdin to manage community translations for both the user interface and in-app documentation.


What Gets Translated

Resource Source Location 備註
UI strings core/resources/src/commonMain/composeResources/values/strings.xml Buttons, labels, messages, and all user-visible text
User Guide pages docs/en/user/*.md In-app documentation shown in Help & Documentation
Fastlane metadata fastlane/metadata/android/en-US/ App Store listing title, description, and changelogs

⚠️ Note: Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.


如何貢獻

  1. Visit the Crowdin project. Open the Meshtastic Android Crowdin project and sign in or create a free account.
  2. Choose your language. Select an existing language or request a new one by opening a GitHub issue.
  3. Translate strings. Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
  4. Review context. Many strings include screenshots or context comments — check these to understand where the text appears in the app.
  5. Submit. Approved translations are automatically merged into the next release.

💡 Tip: Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.


Adding a New Language

If your language is not yet listed on Crowdin:

  1. Open an issue on GitHub requesting the new locale.
  2. A maintainer will add the language to Crowdin and configure crowdin.yml.
  3. Once added, you can begin translating immediately.

How Translations Are Organized

The Android app uses Compose Multiplatform resources for all user-visible strings:

core/resources/src/commonMain/composeResources/
-├── values/              ← English (default)
-│   └── strings.xml
-├── values-de/           ← German
-│   └── strings.xml
-├── values-fr/           ← French
-│   └── strings.xml
-└── ...
-

In-app documentation follows a similar pattern under docs/:

docs/
-├── en/user/             ← English source (default)
-│   ├── onboarding.md
-│   └── ...
-├── fr-rFR/user/         ← French (France)
-│   ├── onboarding.md
-│   └── ...
-├── de-rDE/user/         ← German (Germany)
-│   └── ...
-└── ...
-

Locale folders use the Android resource convention {lang}-r{REGION} (e.g. fr-rFR, de-rDE, ja-rJP), matching the values-* directories used for app strings.

The app automatically selects the correct locale based on your device’s Language & Region settings.


Translation Guidelines

  • Do not translate technical terms like “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR”, or “RSSI” — these are universal.
  • Keep placeholders intact. Strings like %1$s or %d are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
  • Match tone. The app uses a friendly, direct voice. Avoid overly formal language.
  • Test if possible. Switch your device language and open the app to see how translations look in context.

Questions?

If you have questions about a specific string’s context or need help getting started, open a discussion on the Meshtastic GitHub Discussions page.

感謝您協助擴展 Meshtastic 的觸及範圍!


diff --git a/v2.8.0/zh-rTW/user/units-and-locale.html b/v2.8.0/zh-rTW/user/units-and-locale.html deleted file mode 100644 index 02b9bc44d2..0000000000 --- a/v2.8.0/zh-rTW/user/units-and-locale.html +++ /dev/null @@ -1 +0,0 @@ - Units, Measurement & Locale | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Units, Measurement & Locale

The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.


運作方式

Meshtastic radios always transmit data in metric units (meters, °C, m/s, hPa, etc.). When the app receives this data, it converts and displays values in whatever unit system your device’s locale specifies.

On Android, your measurement preferences are determined by your system Language & Region settings. On Desktop (JVM), the app uses the JVM’s default Locale.

💡 Tip: You never need to toggle units inside the app. Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.


溫度

Temperature values from environment sensors are transmitted as °C and displayed based on your device’s temperature unit preference.

Environment metrics with temperature

Your Setting You See
Celsius 22°C
Fahrenheit 72°F

This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, and telemetry chart axes.

Distance & Altitude

Distances between nodes and GPS altitudes are transmitted as meters and automatically scaled and converted.

Distance info display

Your Setting Small Distance Large Distance 海拔高度
公制(公里/公尺) 350 m 2.5 km 1,200 m
Imperial (US) 1,148 ft 1.6 mi 3,937 ft

The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.

Where these appear

  • Node list — distance and bearing to each node
  • Node detail — altitude, distance from your position
  • Map — waypoint distances, traceroute hop distances
  • Compass — distance to selected node

速度

GPS ground speed is displayed in your locale’s preferred speed unit.

Your Setting You See
公制(公里/公尺) 12 km/h
Imperial (US) 7 mph

風速

Wind speed and gust data from environment sensors are transmitted as m/s and converted for display.

Your Setting You See
公制(公里/公尺) 5 m/s
Imperial (US) 11 mph

Wind readings appear in the Node Detail environment section and the Environment Telemetry charts.

Rainfall

Rainfall measurements (1-hour and 24-hour totals) are transmitted as mm and converted for display.

Your Setting You See
公制(公里/公尺) 12 mm
Imperial (US) 0.5 in

Units That Never Change

Some units are international standards and are displayed the same way regardless of your locale:

Measurement Unit Why
氣壓 hPa International meteorological standard
Heading / bearing ° (degrees) Universal navigation convention
輻射 μR/hr Standard dosimetry unit
GPS coordinates decimal degrees Universal geographic standard
Humidity, battery, soil moisture % Universal

Date & Time

All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device’s date and time preferences.

設定 What It Controls 範例
24-Hour Time Clock format 14:30 vs 2:30 PM
Date Format Date ordering 09/05/2026 vs 05/09/2026

The app also uses relative time where it makes sense — for example, “5 min ago” or “2 hours ago” in the node list — which is automatically localised into your device language.

Changing Your Measurement System (Android)

On Android, your measurement system (metric vs imperial) is tied to your region setting:

  1. Open Android Settings → System → Language & Region
  2. Change your Region or Measurement units preference
  3. Return to Meshtastic — values update immediately

💡 Tip: All measurement formatting is handled centrally and respects your platform’s locale, so units stay consistent everywhere in the app.

相關主題



diff --git a/v2.8.0/zh-rTW/user/widget.html b/v2.8.0/zh-rTW/user/widget.html deleted file mode 100644 index 90326576b3..0000000000 --- a/v2.8.0/zh-rTW/user/widget.html +++ /dev/null @@ -1 +0,0 @@ - Home Screen Widget | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 中文 (繁體)
Meshtastic Docs ↗

🌐 中文 (繁體) — Community translation View in English

Home Screen Widget

On Android, Meshtastic provides a home screen widget that shows live local statistics from your connected radio at a glance — no need to open the app.

What It Shows

The widget displays the connected radio’s current local stats:

  • Battery — the radio’s battery level, or Powered when running on external power
  • ChUtil — channel utilization (how busy the LoRa channel is, as a percentage)
  • AirUtil — airtime utilization (how much of the duty cycle your radio is transmitting)
  • Traffic — packets transmitted / received, and duplicates seen
  • Relays — packets relayed and relay cancellations (shown when the radio is relaying)

Tap the widget to open the app, or use its refresh control to request fresh stats.

💡 Tip: The values reflect the radio you are currently connected to. If the app isn’t connected to a radio, the widget shows the last known stats until it reconnects.

Adding the Widget

  1. Long-press an empty area of your Android home screen.
  2. Tap Widgets.
  3. Find Meshtastic in the list and drag the Local Stats widget to your home screen.
  4. Resize it as needed — the layout adapts to the available space.

⚠️ Note: The widget is Android-only. It is not available on the Desktop or iOS builds.

相關主題

  • Node Metrics — the full Signal Quality and Local Stats history inside the app
  • Connections — connect to a radio so the widget has stats to show
  • Discovery — channel and airtime utilization across the mesh


diff --git a/versions.json b/versions.json index 56de7b0034..5710a473b9 100644 --- a/versions.json +++ b/versions.json @@ -2,8 +2,7 @@ "latest": "2.8.2", "versions": [ "2.8.2", - "2.8.1", - "2.8.0" + "2.8.1" ], "prereleases": [], "hasMain": true